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é.
Version imprimable
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'adapterCode:
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 fautCode:PanelDC = GetDC(Panel->Handle);
Code:PanelDC = GetDC(NULL);
- http://msdn.microsoft.com/library/de...tdraw_0hcz.aspCitation:
If 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 fautCode:Panel->Handle
Pour plus de détail sur cette fonction: http://msdn2.microsoft.com/en-us/library/ms633504.aspxCode:GetDesktopWindow()