BitBlt sous VBA?

3dflix Messages postés 43 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 20 février 2013 - 18 oct. 2007 à 17:14
ajdw Messages postés 17 Date d'inscription mardi 29 août 2006 Statut Membre Dernière intervention 16 septembre 2008 - 16 sept. 2008 à 11:22
Bonjour,

je souhaite utiliser l'api BitBlt en vba excel pour copier une partie de mon Image1(imagebox) dans mon Image2(Imagebox).

x = BitBlt(Image2.hDC, CoordInsert.x, CoordInsert.y, LargeurInsert, HauteurInsert, ImageA.hDC, 0, 0, SRCCOPY)

Probleme : hDC n'est pas reconnu.  C'est quoi .hDC? Que puis-je faire?

3dflix

1 réponse

ajdw Messages postés 17 Date d'inscription mardi 29 août 2006 Statut Membre Dernière intervention 16 septembre 2008
16 sept. 2008 à 11:22
Bonjour,

Pour répondre à ta question, si tu veux utiliser BitBlt, tu ne pourras utiliser que des PictureBox à la place de tes images. Comme tu l'a vu, c'est à cause de l'abscence de la propriété hDC des control image.

En gros, le hDC est une adresse à laquelle un control se réfère pour charger une image. Par contre, si tu as besoin absolument d'utiliser un control image, tu peux faire tes manipulations avec un pictureBox (attention, tout doit être visible) puis éxécuter la commande suivante:
Image1.Picture = PictureBox1.Image

Voilà. Oh, et en cas de problème de rafraîssement, place un DoEvents devant ta fonction BitBlt.

Bonne continuation.

Un code et ça repart  
0
Rejoignez-nous