Re: Librairie SkinWindow (Fenêtres et gadgets skinnés)
Publié : ven. 16/avr./2010 19:57
ben je suppose que les différentes images représentes les différents état des gadgets button .. non?
Forums PureBasic - Français
https://www.purebasic.fr/french/
Code : Tout sélectionner
If CreateSkinWindowFromTheme(0, 0, 0, "radio", #PB_Window_ScreenCentered | #PB_Window_Invisible, 0, "radio1")
Code : Tout sélectionner
; Auteur : Le Soldat Inconnu
; Version de PB : 4
;
; Explication du programme :
; Créer une fenêtre totalement skinnée (Le fond et les boutons)
; Si la librairie SkinWindow n'est pas installé, on met la librairie en include
CompilerIf Defined(SetLayeredWindow, #PB_Function) = 0
IncludeFile "SkinWindow.pb"
SkinWindow_Init()
CompilerEndIf
; Item du skin, le numéro correspond à la couleur de l'item (Voir image "Exemple 4\Item.png"
#G_Jouer = $00FF00
#G_Stop = $FF0000
#G_Liste = $0000FF
#G_AFF = $525252
#G_Fond = $FFFFFF
#G_Quit = $8400FF
; Enumeration des gadgets
Enumeration
#G_TestGadgetClassique
EndEnumeration
; Créer une fenetre skinnée à partir des images du dossier "radio1"
If CreateSkinWindowFromTheme(0, 0, 0, "radio", #PB_Window_ScreenCentered | #PB_Window_Invisible, 0, "radio1")
; Définition des textes des items
SetSkinItemText(#G_Jouer, "Jouer")
SetSkinItemText(#G_Stop, "Stop")
SetSkinItemText(#G_Liste, "Liste")
; On définie l'item #G_Resultat comme élement pertettant de déplacer la fenêtre
; Dans tous les cas, le fond de la fenêtre permet de déplacer la fenêtre
SkinItemMoveWindow(#G_Fond, 1)
; On ajoute un gadget
StringGadget(1,50,220,150,20,"test")
HideSkinWindow(0, 0)
Repeat
event = WaitSkinWindowEvent()
; Si on a le focus sur la fenêtre, on affiche l'écran dans l'état actif
If GetActiveSkinWindow() = 0
SetSkinItemState(#G_Fond, 1)
Else
SetSkinItemState(#G_Fond, 0)
EndIf
Select EventSkinWindow() ; Fenêtre skinnée qui a reçu un évènement
Case 0 ; Fenêtre principale
Select EventSkinItem() ; Item appuyé
Case #G_Jouer
SetSkinItemState(#G_Jouer, 1)
MessageRequester("JOUER"," ")
Case #G_Stop
SetSkinItemState(#G_Stop, 1)
MessageRequester("STOP"," ")
Case #G_Liste
SetSkinItemState(#G_Liste, 1)
MessageRequester("LISTE"," ")
Case #G_Quit
event = #PB_Event_CloseWindow
EndSelect
EndSelect
Until event = #PB_Event_CloseWindow
Else
Debug "ça chie"
EndIf
Code : Tout sélectionner
; Auteur : Le Soldat Inconnu
; Version de PB : 4
; Si la librairie SkinWindow n'est pas installé, on met la librairie en include
CompilerIf Defined(SetLayeredWindow, #PB_Function) = 0
IncludeFile "SkinWindow.pb"
SkinWindow_Init()
CompilerEndIf
; Item du skin, le numéro correspond à la couleur de l'item (Voir image "Exemple 4\Item.png"
#G_Jouer = $00FF00
#G_Stop = $FF0000
#G_Liste = $0000FF
#G_AFF = $525252
#G_Fond = $FFFFFF
#G_Quit = $8400FF
; Enumeration des gadgets
Enumeration
#G_TestGadgetClassique
EndEnumeration
; Créer une fenetre skinnée à partir des images du dossier "radio1"
If CreateSkinWindowFromTheme(0, 0, 0, "radio", #PB_Window_ScreenCentered | #PB_Window_Invisible, 0, "radio1")
; Définition des textes des items
SetSkinItemText(#G_Jouer, "Jouer")
SetSkinItemText(#G_Stop, "Stop")
SetSkinItemText(#G_Liste, "Liste")
; On définie l'item #G_Resultat comme élement pertettant de déplacer la fenêtre
; Dans tous les cas, le fond de la fenêtre permet de déplacer la fenêtre
SkinItemMoveWindow(#G_Fond, 1)
; On ajoute un gadget
StringGadget(1,49,180,150,20,"test")
HideSkinWindow(0, 0)
Repeat
event = WaitSkinWindowEvent()
; Si on a le focus sur la fenêtre, on affiche l'écran dans l'état actif
If GetActiveSkinWindow() = 0
SetSkinItemState(#G_Fond, 1)
Else
SetSkinItemState(#G_Fond, 0)
EndIf
Select EventSkinWindow() ; Fenêtre skinnée qui a reçu un évènement
Case 0 ; Fenêtre principale
Select EventSkinItem() ; Item appuyé
Case #G_Jouer
SetSkinItemState(#G_Jouer, 1)
SetSkinItemState(#G_Stop, 0)
MessageRequester("JOUER"," ")
Case #G_Stop
SetSkinItemState(#G_Stop, 1)
SetSkinItemState(#G_Jouer, 0)
MessageRequester("STOP"," ")
Case #G_Liste
SetSkinItemState(#G_Liste, 1)
MessageRequester("LISTE"," ")
Case #G_Quit
MessageRequester("QUIT"," ")
event = #PB_Event_CloseWindow
EndSelect
EndSelect
Until event = #PB_Event_CloseWindow
Else
Debug "ça chie"
EndIf
Image : à renommer en Normal.png
EDITImage : à renommer en Hot.png
Code : Tout sélectionner
#G_Jouer = $00FF00 ; palaindrome
#G_Stop = $0000FF
#G_Liste = $FF0000
#G_AFF = $525252 ; palindrome
#G_Fond = $FFFFFF ; palindrome
#G_Quit = $FF0084