Indentation
Couleur
etc ...
Code : Tout sélectionner
; Auteur : Le Soldat Inconnu
; Version de PB : 3.92
;
; Explication du programme :
; Changer des paramètres d'un TreeGadget (Indentation, Hauteur de ligne, Couleurs, etc ...)
Enumeration
#Tree_RechercheFichier
EndEnumeration
; Ouvre une fenêtre
If OpenWindow(0, 0, 0, 500, 250, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered, "Recherche fichiers") = 0 Or CreateGadgetList(WindowID()) = 0
End
EndIf
TreeGadget(#Tree_RechercheFichier, 0, 0, 500, 200, #PB_Tree_AlwaysShowSelection)
; On rempli le TreeGadget
For n = 0 To 19
AddGadgetItem(#Tree_RechercheFichier, n, Str(n) + " élement")
If n = 3 Or n = 10 Or n = 11
OpenTreeGadgetNode(#Tree_RechercheFichier)
EndIf
If n = 6 Or n = 14 Or n = 18
CloseTreeGadgetNode(#Tree_RechercheFichier)
EndIf
Next
#TV_FIRST = $1100
; Indentation en pixel après chaque noeud
#TVM_GETINDENT = #TV_FIRST + 6
#TVM_SETINDENT = #TV_FIRST + 7
Indentation = SendMessage_(GadgetID(#Tree_RechercheFichier), #TVM_GETINDENT, 0, 0) ; On récupère la valeur de l'indentation
TextGadget(#PB_Any, 0, 200, 300, 15, "Indentation d'origine = " + Str(Indentation))
SendMessage_(GadgetID(#Tree_RechercheFichier), #TVM_SETINDENT, 40, 0) ; On change l'intendation à 40 px
; Hauteur des lignes
#TVM_GETITEMHEIGHT = #TV_FIRST + 28
#TVM_SETITEMHEIGHT = #TV_FIRST + 27
Hauteur = SendMessage_(GadgetID(#Tree_RechercheFichier), #TVM_GETITEMHEIGHT, 0, 0) ; On récupère la hauteur des lignes
TextGadget(#PB_Any, 0, 215, 300, 15, "Hauteur des lignes d'origine = " + Str(Hauteur))
SendMessage_(GadgetID(#Tree_RechercheFichier), #TVM_SETITEMHEIGHT, 25, 0) ; on la hauteur de lignes à 25 px
; Couleur du texte
#TVM_SETTEXTCOLOR = #TV_FIRST + 30
SendMessage_(GadgetID(#Tree_RechercheFichier), #TVM_SETTEXTCOLOR, 0, RGB(0, 0, 200)) ; Mettre -1 pour retrouver la couleur d'origine
; Couleur de fond
#TVM_SETBKCOLOR = #TV_FIRST + 29
SendMessage_(GadgetID(#Tree_RechercheFichier), #TVM_SETBKCOLOR, 0, RGB(255, 255, 226)) ; Mettre -1 pour retrouver la couleur d'origine
; On affiche l'élément 13
SetGadgetState(#Tree_RechercheFichier, 13)
; Insérer un marqueur
#TVM_SETINSERTMARK = #TV_FIRST + 26
SendMessage_(GadgetID(#Tree_RechercheFichier), #TVM_SETINSERTMARK, 1, GadgetItemID(#Tree_RechercheFichier, 14))
; Ici, on insère un marqueur après la ligne 14
; Pour insérer avant avant, mettre 0 à la place de 1
; Pour retirer le marqueur, remplacer GadgetItemID() par 0
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow