Page 1 sur 1

Boutton image

Publié : sam. 06/août/2005 16:58
par brossden
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 !

Publié : sam. 06/août/2005 17:50
par nico
Tu mets 0 à la place du handle de l'image.

Sinon pour changer l'image, tu utilises les commandes habituelles de Pure.

Publié : sam. 06/août/2005 18:24
par Backup
comme ça : :D

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
;



Publié : sam. 06/août/2005 18:25
par brossden
Si tu avais l'obligeance de me faire un petit bout de code je t'en serais trés reconnaissant

Publié : sam. 06/août/2005 18:25
par Backup
on a du poster en meme temps !

Publié : dim. 07/août/2005 9:03
par brossden
Merci à tous les deux ! :10:

Comme à l'habitude, un problème ne reste pas souvent sans solution avec vous ! #hello