Librairie MoreGadgetColor version 1.00 beta beta beta...
Publié : mar. 04/mai/2004 10:54
Bon, j'ai mis sur mon site une petite lib pour mettre en couleur les gadgets suivants :
TextGadget()
STrinGadget()
SpinGadget()
OptionGadget()
CheckBoxGadget()
Je n'ai mis aucune vérification alors si vous essayer de colorier un gadget autre que ceux là, si ça plante, viendrez pas pleurer
J'ai simplement tester sous WIN98, sur XP non mais y a pas de raison que ça ne marche pas sauf peut-être si on active les thèmes, là j'ai pas regardé.
Pas fait la doc, de toute façon il n'y a que 2 commandes :
SetGadgetColor(#Gadget, CouleurTexte.l, CouleurFond.l) pour colorier et on met à -1 si on ne veut pas changer une couleur.
RemoveGadgetColor(#Gadget) pour supprimer la couleur
La librairie est ici :
http://denislabarre.free.fr/Librairies/MoreGadgetColor
qui est un fichier sans extension à mettre dans le répertoire PureBasic\PureLibraries\UserLibraries
Lorsque ce fichier est dans le répertoire, supprimer son extension .txt
ça marche avec la version 3.90 avec la nouvelle je ne sais pas.
Je vais faire des tests et essayer de compiler mes libs avec le nouveau linker.
Et voici un petit bout de code qui marche chez moi
TextGadget()
STrinGadget()
SpinGadget()
OptionGadget()
CheckBoxGadget()
Je n'ai mis aucune vérification alors si vous essayer de colorier un gadget autre que ceux là, si ça plante, viendrez pas pleurer

J'ai simplement tester sous WIN98, sur XP non mais y a pas de raison que ça ne marche pas sauf peut-être si on active les thèmes, là j'ai pas regardé.
Pas fait la doc, de toute façon il n'y a que 2 commandes :
SetGadgetColor(#Gadget, CouleurTexte.l, CouleurFond.l) pour colorier et on met à -1 si on ne veut pas changer une couleur.
RemoveGadgetColor(#Gadget) pour supprimer la couleur
La librairie est ici :
http://denislabarre.free.fr/Librairies/MoreGadgetColor
qui est un fichier sans extension à mettre dans le répertoire PureBasic\PureLibraries\UserLibraries
Lorsque ce fichier est dans le répertoire, supprimer son extension .txt
ça marche avec la version 3.90 avec la nouvelle je ne sais pas.
Je vais faire des tests et essayer de compiler mes libs avec le nouveau linker.
Et voici un petit bout de code qui marche chez moi
Code : Tout sélectionner
; Constantes
Enumeration
#MainWindow
#Fenetre_Secondaire
#ButtonGadget1
#ButtonGadget2
#ButtonGadget3
#ButtonGadget4
#ButtonGadget5
#ButtonGadget6
#ButtonGadget7
#TextGadget
#TextGadget1
#CheckBoxGadget
#OptionGadget
#StringGadget
#SpinGadget
#Text_Fenetre_Secon
#Text_Fenetre_Secon1
EndEnumeration
; /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
; \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Procedure NouvelleFenetre()
If OpenWindow(#Fenetre_Secondaire, 0, 0, 350, 340, #PB_Window_SystemMenu | #PB_Window_ScreenCentered, "Colorier les Gadgets")
If CreateGadgetList(WindowID())
TextGadget(#Text_Fenetre_Secon, 80, 160, 150, 25, "#Text_Fenetre_Secon:")
SetGadgetColor(#Text_Fenetre_Secon, #blue, #white)
Repeat
Select WaitWindowEvent()
Case #PB_EventGadget
Select EventGadgetID()
EndSelect
Case #PB_EventCloseWindow
If EventWindowID() = #Fenetre_Secondaire
RemoveGadgetColor(#Text_Fenetre_Secon)
CloseWindow(#Fenetre_Secondaire)
quit + 1
EndIf
EndSelect
Until quit
EndIf
EndIf
EndProcedure
; ==================================================================================================================
If OpenWindow(#MainWindow, 200, 500, 450, 400, #PB_Window_SystemMenu | #PB_Window_ScreenCentered, "Colorisation des Gadgets")
#LargeurBouton = 260 : #offset = 150
If CreateGadgetList(WindowID())
ButtonGadget(#ButtonGadget1, 20 + #offset, 20, #LargeurBouton, 35, "Colorier SpinGadget", #PB_Button_MultiLine)
ButtonGadget(#ButtonGadget2, 20 + #offset, 70, #LargeurBouton, 35, "Supprimer couleur SpinGadget", #PB_Button_MultiLine)
ButtonGadget(#ButtonGadget3, 20 + #offset, 120, #LargeurBouton, 35, "Colorier CheckBoxGadget", #PB_Button_MultiLine)
ButtonGadget(#ButtonGadget4, 20 + #offset, 170, #LargeurBouton, 35, "Supprimer couleur CheckBoxGadget", #PB_Button_MultiLine)
ButtonGadget(#ButtonGadget5, 20 + #offset, 220, #LargeurBouton, 45, "Colorier StringGadget", #PB_Button_MultiLine)
ButtonGadget(#ButtonGadget6, 20 + #offset, 280, #LargeurBouton, 45, "Supprimer couleur StringGadget", #PB_Button_MultiLine)
ButtonGadget(#ButtonGadget7, 20 + #offset, 340, #LargeurBouton, 45, "Nouvelle fenêtre" + Chr(10) + "TextGadget", #PB_Button_MultiLine)
SpinGadget(#SpinGadget,20,20,100,25,0,1000)
SetGadgetState (#SpinGadget,5)
SetGadgetText(#SpinGadget,"5")
TextGadget(#TextGadget, 10, 60, 150, 25, "TextGadget :")
TextGadget(#TextGadget1, 10, 90, 150, 25, "TextGadget 1:")
CheckBoxGadget(#CheckBoxGadget, 10, 120, 150, 25, "CheckBoxGadget :")
OptionGadget(#OptionGadget, 10, 150, 150, 25, "OptionGadget :")
StringGadget(#StringGadget, 10, 190, 150, 25, "StringGadget :")
Repeat
Select WaitWindowEvent()
Case #PB_EventGadget
event = EventGadgetID()
If event = #ButtonGadget1
SetGadgetColor(#SpinGadget, #red, 0)
ElseIf event = #ButtonGadget2
RemoveGadgetColor(#SpinGadget)
ElseIf event = #ButtonGadget3
SetGadgetColor(#CheckBoxGadget, #yellow, #red)
ElseIf event = #ButtonGadget4
RemoveGadgetColor(#CheckBoxGadget)
ElseIf event = #ButtonGadget5
SetGadgetColor(#StringGadget, #yellow, #red)
ElseIf event = #ButtonGadget6
RemoveGadgetColor(#StringGadget)
ElseIf event = #ButtonGadget7
NouvelleFenetre()
ElseIf event = #SpinGadget
SetGadgetText(#SpinGadget,Str(GetGadgetState(#SpinGadget)))
WindowEvent()
EndIf
Case #PB_EventCloseWindow
Quit + 1
EndSelect
Until Quit
EndIf
EndIf
End