Sauver le contenu d'une picture box!!

pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 - 21 mai 2003 à 12:55
stabe Messages postés 144 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 17 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!

5 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
21 mai 2003 à 13:29
Il faut que tu ecrive ton texte dans le picture box (avec les fonction Print et CurrantX current Y), puis tu fait :

Picture1.Picture = Picture1.Image

Et enfin, tu sauvegarde le tout au format bmp. Par contre, tu ne peut pas sauvegarder la position des texte comme cà :-(

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
0
pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 5
21 mai 2003 à 14:59
ok mais comment utiliser print pour les textbox et surtout comment faire pour les controles images??
0
pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 5
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?????????

savepicture picture2.image,"C:\test.bmp"
comprend pas???
0
stabe Messages postés 144 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 17 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 --
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
stabe Messages postés 144 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 17 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
0
Rejoignez-nous