Copier une Form dans une Picturebox

Résolu
Herve_be
Messages postés
954
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
5 juin 2022
- 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
14941
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
20 juin 2022
161
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
235
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
954
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
5 juin 2022
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
235
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