Boutton image

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Boutton image

Message 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 !
Denis

Bonne Jounée à tous
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Tu mets 0 à la place du handle de l'image.

Sinon pour changer l'image, tu utilises les commandes habituelles de Pure.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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
;


brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Message par brossden »

Si tu avais l'obligeance de me faire un petit bout de code je t'en serais trés reconnaissant
Denis

Bonne Jounée à tous
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

on a du poster en meme temps !
brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Message par brossden »

Merci à tous les deux ! :10:

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

Bonne Jounée à tous
Répondre