pcpunch
Messages postés1243Date d'inscriptionmardi 7 mai 2002StatutMembreDernière intervention18 février 2019
-
21 mai 2003 à 12:55
stabe
Messages postés144Date d'inscriptionlundi 23 décembre 2002StatutMembreDernière intervention17 juin 2006
-
21 mai 2003 à 16:17
Slt
je place des controles texte (textbox) et un controle image dans une picture box.
Je voudrais savoir si il est possible de sauvearger en image le contenu de ma picture box avec les controles(txt et image)?
ou si mon projet est a l'eau lol.....
G bien essayer avec savepicture, mais ca donne un bmp vide!
pcpunch
Messages postés1243Date d'inscriptionmardi 7 mai 2002StatutMembreDernière intervention18 février 20195 21 mai 2003 à 16:12
ok
je recuperer les current x, y par rapport au placement de mes textbox sur le picture 1 et je les print sur un picture 2.
A l affichage ok; bonne positions etc..
Mais lorsque je sauvegarde en bmp l image est vide?????????
stabe
Messages postés144Date d'inscriptionlundi 23 décembre 2002StatutMembreDernière intervention17 juin 2006 21 mai 2003 à 16:15
Ce que tu peux essayer de faire :
1) faire une copie totale d'écran (ça te prend tout : controles, text, image ...)
keybd_event vbKeySnapshot, 0, 0&, 0&
DoEvents
2) la copier dans une picture
Picture2.Picture = Clipboard.GetData(2)
3) découper cette picture (qui contient tout l'écran) pour ne prendre que la zone qui t'intéresse (celle de ta picture box)
BitBlt PictureFinale.hDC, 0, 0, largeur_ta_picture, hauteur_ta_picture, Picture2.hDC, TopPosition_ta_picture, LeftPosition_ta_picture, SRCCOPY
DoEvents
rem : TopPosition_ta_picture et LeftPosition_ta_picture sont les coordonnées de ta picture dans la fenêtre de ta form (attention aux unités)
4) sauvegarder la picture finale sur disque
SavePicture PictureFinale, "c:\image.bmp"
keybd_event et BitBlt sont des API à déclarer comme ceci :
Global Const SRCCOPY = &HCC0020
Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, _
ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, _
ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
tiens moi au courant si tu arrives à quelque chose
bon courage
-- stabe --
Vous n’avez pas trouvé la réponse que vous recherchez ?
stabe
Messages postés144Date d'inscriptionlundi 23 décembre 2002StatutMembreDernière intervention17 juin 2006 21 mai 2003 à 16:17
3) découper cette picture (qui contient tout l'écran) pour ne prendre que la zone qui t'intéresse (celle de ta picture box)
BitBlt PictureFinale.hDC, 0, 0, largeur_ta_picture, hauteur_ta_picture, Picture2.hDC, TopPosition_ta_picture, LeftPosition_ta_picture, SRCCOPY
'ICI ERREUR, remplacer DoEvents par
form1.Refresh