Bonjour à tous
Je voudrais créer une fenêtre avec deux ButtonImageGadget(...) initialement sans image
A chaque clic sur un de ces boutons j'aimerai attribuer a ce ButtonImageGadget une image selectionnée par exemple par un OpenFileRequester(...) et si possible redimentionnée à la taille du bouton.
Par avance merci car j'ai de gros soucis pour métriser les images avec PB !
Boutton image
Boutton image
Denis
Bonne Jounée à tous
Bonne Jounée à tous
comme ça : 

Code : Tout sélectionner
; PureBasic Visual Designer v3.92 build 1460
; PureBasic Visual Designer v3.92 build 1460
#Image=1
UseJPEGImageDecoder()
UsePNGImageDecoder()
UseTIFFImageDecoder()
UseTGAImageDecoder()
;- Window Constants
;
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
;
Enumeration
#ButtonImage_0
EndEnumeration
;- Image Plugins
;- Image Globals
Global Image0
CreateImage(#Image, 1024, 768); on cree un conteneur d'image
Procedure Open_Window_0()
If OpenWindow(#Window_0, 231, 270, 417, 292, #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "New window ( 0 )")
If CreateGadgetList(WindowID())
ButtonImageGadget(#ButtonImage_0, 0, 0, 111, 93, 0)
EndIf
EndIf
EndProcedure
Open_Window_0()
Repeat ; Start of the event loop
Event = WaitWindowEvent() ; This line waits until an event is received from Windows
WindowID = EventWindowID() ; The Window where the event is generated, can be used in the gadget procedures
GadgetID = EventGadgetID() ; Is it a gadget event?
EventType = EventType() ; The event type
;You can place code here, and use the result as parameters for the procedures
If Event = #PB_EventGadget
If GadgetID = #ButtonImage_0 ; si on click sur le bouton image
NomFichier$ = OpenFileRequester("charge une image", "*.bmp", "", 1 ) ; on choisi une image
If NomFichier$<>""
LoadImage(#Image, NomFichier$) ; on la charge dans le contener d'image crée plus haut
ResizeImage(#Image, 111,93 ) ; on va la mettre au dimention du bouton !! (111x93)
UseImage(#Image) ; on veut utiliser cette image !
SetGadgetState(#ButtonImage_0, ImageID()) ; on attribut l'image au bouton
EndIf
EndIf
EndIf
Until Event = #PB_Event_CloseWindow ; End of the event loop
End
;