Functions > GUI > GUICtrlCreate >


GUICtrlCreateTreeView

Cr�e un contr�le TreeView pour une GUI

GUICtrlCreateTreeView ( left, top [, width [, height [, style = -1 [, exStyle = -1]]]] )

Param�tres

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.

Valeur de retour

Succ�s: Retourne l'ID du nouveau contr�le.
�chec: Retourne 0.

Remarques

Pour d�finir ou modifier des informations dans le contr�le, consultez les fonctions GUICtrlUpdate...().

Pour combiner des styles avec le style par d�faut, utiliser BitOR($GUI_SS_DEFAULT_TREEVIEW, newstyle,... ).
Pour utiliser les valeurs sp�cifi�es ci-dessus, vous devez ajouter #include <TreeViewConstants.au3> dans votre script.

En relation

GUICoordMode (Option), GUICtrlCreateTreeViewItem, GUICtrlRead, GUICtrlUpdate..., GUIGetMsg

Exemple

#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