Copier une Form dans une Picturebox

Résolu
Herve_be Messages postés 1016 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 24 avril 2024 - 23 nov. 2014 à 11:01
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 23 nov. 2014 à 19:07
Bonjour,
Pour copier une Form dans une Picturebox j'utilise BitBlt .hdc, ...
qui fonctionne très bien sauf qu'il ne copie pas la fenêtre complète, exemple
Fenêtre complète

Image copiée


Comment puis-je copier toute la fenêtre dans une picbox ?
Merci d'avance pour votre aide

4 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
23 nov. 2014 à 13:43
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
23 nov. 2014 à 15:09
Bonjour, NHenry,
Il y a bien plus simple, en moins de 5 lignes de code.
Mais le "caractère" démontré du demandeur est tel, que la moindre aide venant de moi serait perçue par lui comme un frein à toute aide venant d'autres.
Je ne reviendrai donc ici qu'après qu'aucune autre réponse simple n'y aura été présentée. J'attendrai quelques jours.
0
Herve_be Messages postés 1016 Date d'inscription mercredi 4 août 2010 Statut Membre Dernière intervention 24 avril 2024 2
23 nov. 2014 à 16:07
Merci à U c'est foutu pour sa réponse pertinente, comme d'habitude, je n'en attendais pas moins.
Entretemps j'ai trouvé une solution toute simple que je n'expliquerai pas vu le caractère démontré du répondeur.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
23 nov. 2014 à 19:07
Ouais ...
Bon, juste pour ceux qui chercheraient :
un form Form1 et un form Form2 doté d'une picturebox Picture1 dont la propriété Autoredraw est à True et ce code tout bête :
Private Declare Function PrintWindow Lib "user32" (ByVal hWnd As Long, ByVal hdcBlt As Long, ByVal nFlags As Long) As Long

Private Sub Command1_Click()
Form2.Move 0, 0, Form1.Width, Form1.Height
Form2.Picture1.Move 0, 0, Form1.Width, Form1.Height
PrintWindow Me.hWnd, Form2.Picture1.hDC, 0
Form2.Show
End Sub

Dans cet exemple, j'ai mis l'image de Form1 dans une Picturebox de Form2
Si d'aucuns voudraient (contre toute attente et logique) avoir cette image de Form1 dans une picturebox de Form1) : qu'ils lèvent le doigt (ce n'est pas compliqué non plus et avec très peu de code également).
0
Rejoignez-nous