Crée un contrôle TreeView pour une GUI
GUICtrlCreateTreeView ( left, top [, width [, height [, style = -1 [, exStyle = -1]]]] )
left | Coordonnées X du coin supérieur gauche du contrôle. Si -1 est utilisé, X sera calculée en accord avec GUICoordMode. |
top | Coordonnées Y du coin supérieur gauche du contrôle. Si -1 est utilisé, Y sera calculée en accord avec GUICoordMode. |
width | [optionnel] Largeur du contrôle (par défaut, la largeur utilisée précédemment). |
height | [optionnel] Hauteur du contrôle (par défaut, la hauteur précédemment utilisée). |
style |
[optionnel] Définit le style du contrôle. Consultez Annexe des styles des contrôles GUI. Par défaut (-1) : $TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS Style forcé : $WS_TABSTOP |
exStyle | [optionnel] Définit le style étendu du contrôle. Consultez Table des styles étendus. |
Succès: | Retourne l'ID du nouveau contrôle. |
Échec: | Retourne 0. |
GUICoordMode (Option), GUICtrlCreateTreeViewItem, GUICtrlRead, GUICtrlUpdate..., GUIGetMsg
#include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> #include <StaticConstants.au3> #include <TreeViewConstants.au3> #include <WindowsConstants.au3> Example() Func Example() GUICreate("Ma fenêtre avec une TreeView", 350, 215) Local $idTreeview = GUICtrlCreateTreeView(6, 6, 100, 150, BitOR($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS), $WS_EX_CLIENTEDGE) Local $idGeneralitem = GUICtrlCreateTreeViewItem("General", $idTreeview) GUICtrlSetColor(-1, 0x0000C0) Local $idDisplayitem = GUICtrlCreateTreeViewItem("Display", $idTreeview) GUICtrlSetColor(-1, 0x0000C0) Local $idAboutitem = GUICtrlCreateTreeViewItem("About", $idGeneralitem) Local $idCompitem = GUICtrlCreateTreeViewItem("Computer", $idGeneralitem) GUICtrlCreateTreeViewItem("User", $idGeneralitem) GUICtrlCreateTreeViewItem("Resolution", $idDisplayitem) GUICtrlCreateTreeViewItem("Other", $idDisplayitem) Local $idStartlabel = GUICtrlCreateLabel("TreeView Demo", 190, 90, 100, 20) Local $idAboutlabel = GUICtrlCreateLabel("Ce petit script montre l'utilisation d'un contrôle treeview.", 190, 70, 100, 60) GUICtrlSetState(-1, $GUI_HIDE) ; Masque le texte du "aboutlabel" lors de l'initialisation Local $idCompinfo = GUICtrlCreateLabel("Name:" & @TAB & @ComputerName & @CRLF & "OS:" & @TAB & @OSVersion & @CRLF & "SP:" & @TAB & @OSServicePack, 120, 30, 200, 80) GUICtrlSetState(-1, $GUI_HIDE) ;Masque le texte de "CompInfo" lors de l'initialisation GUICtrlCreateLabel("", 0, 170, 350, 2, $SS_SUNKEN) Local $idTogglebutton = GUICtrlCreateButton("&Toggle", 35, 185, 70, 20) Local $idInfobutton = GUICtrlCreateButton("&Info", 105, 185, 70, 20) Local $idStatebutton = GUICtrlCreateButton("Col./Exp.", 175, 185, 70, 20) Local $idCancelbutton = GUICtrlCreateButton("&Cancel", 245, 185, 70, 20) GUICtrlSetState($idGeneralitem, BitOR($GUI_EXPAND, $GUI_DEFBUTTON)) ; Développe l'item "General" et le met en gras GUICtrlSetState($idDisplayitem, BitOR($GUI_EXPAND, $GUI_DEFBUTTON)) ; Développe l'item "Display" et le met en gras GUISetState(@SW_SHOW) ; Boucle jusqu'à ce que l'utilisateur quitte. Local $idItem, $hItem, $sText, $idMsg = GUIGetMsg() While ($idMsg <> $GUI_EVENT_CLOSE) And ($idMsg <> $idCancelbutton) Switch $idMsg Case $idTogglebutton ; Bascule la peinture en gras If BitAND(GUICtrlRead($idGeneralitem), $GUI_DEFBUTTON) Then GUICtrlSetState($idGeneralitem, 0) GUICtrlSetState($idDisplayitem, 0) Else GUICtrlSetState($idGeneralitem, $GUI_DEFBUTTON) GUICtrlSetState($idDisplayitem, $GUI_DEFBUTTON) EndIf Case $idInfobutton $idItem = GUICtrlRead($idTreeview) ; Obtient le controlID de l'item de la TreeView en cours de sélection. If $idItem = 0 Then MsgBox($MB_SYSTEMMODAL, "TreeView Demo", "Aucun élément sélectionné actuellement") Else $sText = GUICtrlRead($idItem, 1) ; Obtient le texte de l'élément d'arborescence If $sText == "" Then MsgBox($MB_SYSTEMMODAL, "Error", "Erreur lors de la récupération des infos de l'élément") Else MsgBox($MB_SYSTEMMODAL, "TreeView Demo", "L'élément sélectionné actuellement est: " & $sText) EndIf EndIf Case $idStatebutton $idItem = GUICtrlRead($idTreeview) If $idItem > 0 Then $hItem = GUICtrlGetHandle($idItem) GUICtrlSendMsg($idTreeview, $TVM_EXPAND, $TVE_TOGGLE, $hItem) EndIf ; Les éléments suivants cacheront les autres labels (1er et 2nd paramètres), puis montreront leurs 'propres' labels (3ème et 4ème paramètre) Case $idGeneralitem GUIChangeItems($idAboutlabel, $idCompinfo, $idStartlabel, $idStartlabel) Case $idAboutitem GUICtrlSetState($idCompinfo, $GUI_HIDE) GUIChangeItems($idStartlabel, $idStartlabel, $idAboutlabel, $idAboutlabel) Case $idCompitem GUIChangeItems($idStartlabel, $idAboutlabel, $idCompinfo, $idCompinfo) EndSwitch $idMsg = GUIGetMsg() WEnd GUIDelete() EndFunc ;==>Example Func GUIChangeItems($idHidestart, $idHideend, $idShowstart, $idShowend) Local $idX For $idX = $idHidestart To $idHideend GUICtrlSetState($idX, $GUI_HIDE) Next For $idX = $idShowstart To $idShowend GUICtrlSetState($idX, $GUI_SHOW) Next EndFunc ;==>GUIChangeItems