BitBlt sous VBA?

Signaler
Messages postés
43
Date d'inscription
dimanche 9 mars 2003
Statut
Membre
Dernière intervention
20 février 2013
-
Messages postés
17
Date d'inscription
mardi 29 août 2006
Statut
Membre
Dernière intervention
16 septembre 2008
-
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

Messages postés
17
Date d'inscription
mardi 29 août 2006
Statut
Membre
Dernière intervention
16 septembre 2008

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