
cordialement
Code : Tout sélectionner
;- Window Constants
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
Enumeration
#Button_0
EndEnumeration
Procedure screenshot()
;------------ verifie la taille de l'ecran ----------
If ExamineDesktops()
Largeur = DesktopWidth(0)
Hauteur = DesktopHeight(0)
EndIf
;---------- fin verifie la taille de l'ecran --------
;---------- ont fait une simulation de touche imprime ecran --------
DC = GetDC_(0)
CreateImage(0, 155, 45);<= ont donne la taille du bouton
Dessin = StartDrawing(ImageOutput(0))
BitBlt_(Dessin, 0, 0, Largeur, Hauteur, DC, WindowX(#Window_0)+20, WindowY(#Window_0)+40, #SRCPAINT | $40000000) ;<= ont renvoie la taille de l'ecran avec Largeur et Hauteur, ont donne la position x de la fenetre grace a WindowX(#Window_0) idem pour y
StopDrawing()
UseJPEGImageEncoder()
SaveImage(0, "c:/screenshot.jpg", #PB_ImagePlugin_JPEG);<= et on enregistre
;---------- fin de simulation de touche imprime ecran --------
EndProcedure
window=OpenWindow(#Window_0, 0, 0, 600, 300, "New window ( 0 )", #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
ButtonGadget(#Button_0, 20, 20, 150, 40, "enregistrer le bouton")
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case #Button_0
screenshot()
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
Code : Tout sélectionner
; Auteur : Le Soldat Inconnu
; Version de PB : 4.50
;
; Explication du programme :
; Pour faire des programmes de test rapidement, il ne reste qu'a rajouter les gadgets et la gestion des évènements.
; Création de la fenêtre et de la GadgetList
If OpenWindow(0, 0, 0, 300, 300, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget) = 0
End
EndIf
StickyWindow(0, 1)
ButtonGadget(0, 5, 10, 50, 25, "Coucou")
; On attend pour permettre l'affichage
For x = 1 To 20
While WindowEvent()
Wend
Delay(100)
Next
; Zone mémoire pour la copie
Dim Image.l(GadgetWidth(0) - 1, GadgetHeight(0) - 1)
; On dessine sur la fenêtre pour copier le bouton
StartDrawing(WindowOutput(0))
x1 = GadgetX(0)
x2 = x1 + GadgetWidth(0) - 1
y1 = GadgetY(0)
y2 = y1 + GadgetHeight(0) - 1
For x = x1 To x2
For y = y1 To y2
Image(x - x1, y - y1) = Point(x, y)
Next
Next
StopDrawing()
; On crée l'image du gadget
CreateImage(1, GadgetWidth(0), GadgetHeight(0))
StartDrawing(ImageOutput(1))
For x = 0 To GadgetWidth(0) - 1
For y = 0 To GadgetHeight(0) - 1
Plot(x, y, Image(x, y))
Next
Next
StopDrawing()
; On affiche l'image
ImageGadget(1, 50, 50, ImageWidth(1), ImageHeight(1), ImageID(1))
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Menu
Select EventMenu() ; Menus
EndSelect
Case #PB_Event_Gadget
Select EventGadget() ; Gadgets
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow