Bonjour,
y a t il une fonction qui existe du genre "printscreen" quand on clique sur un bouton ? Peut-être qu'il y a déjà eu un post à ce sujet, mais je n'ai pas trouvé.
Bonjour,
y a t il une fonction qui existe du genre "printscreen" quand on clique sur un bouton ? Peut-être qu'il y a déjà eu un post à ce sujet, mais je n'ai pas trouvé.
Ce bout de code permet de faire un imprim écran d'un Panel, il doit y avoir un moyen de l'adapter
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 #include "jpeg.hpp" TPicture* Picture; HDC PanelDC; PanelDC = GetDC(Panel->Handle); // On crée l'image Picture = new TPicture; Picture->Bitmap->Canvas->Handle=CreateCompatibleDC(PanelDC); Picture->Bitmap->Height = Panel->Height; Picture->Bitmap->Width = Panel->Width; // On capture l'image BitBlt(Picture->Bitmap->Canvas->Handle, 0, 0, PanelProposition->Width, PanelProposition->Height, PanelDC, 0, 0, SRCCOPY ); // On enregistre l'image sur le disque dur TJPEGImage *JPEGImage = new TJPEGImage; JPEGImage->Assign(Picture->Bitmap); JPEGImage->SaveToFile(Chemin + NomImage); delete JPEGImage; // pour libérer le pointeur
Salut, au lieu de mettre
il faut
Code : Sélectionner tout - Visualiser dans une fenêtre à part PanelDC = GetDC(Panel->Handle);
Code : Sélectionner tout - Visualiser dans une fenêtre à part PanelDC = GetDC(NULL);- http://msdn.microsoft.com/library/de...tdraw_0hcz.aspIf this value is NULL, GetDC retrieves the DC for the entire screen.
Si tu veux le desktop seulement il suffit de prendre le bon handle, au lieu de
il faut
Code : Sélectionner tout - Visualiser dans une fenêtre à part Panel->Handle
Pour plus de détail sur cette fonction: http://msdn2.microsoft.com/en-us/library/ms633504.aspx
Code : Sélectionner tout - Visualiser dans une fenêtre à part GetDesktopWindow()
Partager