Erstellt ein Treeview-Control für die GUI.
GUICtrlCreateTreeView ( left, top [, width [, height [, style [, exStyle]]]] )
Parameter
| left | Die linke Seite des Controls. Wird -1 verwendet, dann wird left mit Hilfe von GUICoordMode berechnet. |
| top | Die Oberkante des Controls. Wird -1 verwendet, dann wird top mit Hilfe von GUICoordMode berechnet. |
| width | [optional] Die Breite des Controls (voreingestellt ist die zuvor verwendete Breite). |
| height | [optional] Die Höhe des Controls (voreingestellt ist die zuvor verwendete Höhe). |
| style | [optional] Legt den Stil des Controls fest. Siehe Anhang GUI-Stile für Controls. Standard (-1) : $TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS Erzwungener Stil : $WS_TABSTOP |
| exStyle | [optional] Legt den erweiterten Stil des Controls fest. Siehe Tabelle der erweiterten Stile. |
Rückgabewert
| Erfolg: | Gibt die Identifikationsnummer (Control-ID) des neuen Controls zurück. |
| Fehler: | Gibt 0 zurück. |
Bemerkungen
Um Informationen im Control zu setzen oder zu verändern siehe GUICtrlUpdate....
Verwandte Funktionen
GUICtrlCreateTreeViewItem, GUICoordMode (Option), GUICtrlUpdate..., GUIGetMsg, GUICtrlRead
Beispiel
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <TreeViewConstants.au3>
#include <StaticConstants.au3>
Opt('MustDeclareVars', 1)
Example()
Func Example()
Local $treeview, $generalitem, $displayitem, $aboutitem, $compitem
Local $useritem, $resitem, $otheritem, $startlabel, $aboutlabel, $compinfo
Local $togglebutton, $infobutton, $statebutton, $cancelbutton
Local $msg, $item, $hItem, $text
GUICreate("Meine GUI mit Treeview", 350, 215)
$treeview = GUICtrlCreateTreeView(6, 6, 150, 150, BitOR($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS), $WS_EX_CLIENTEDGE)
$generalitem = GUICtrlCreateTreeViewItem("Allgemein", $treeview)
GUICtrlSetColor(-1, 0x0000C0)
$displayitem = GUICtrlCreateTreeViewItem("Anzeige", $treeview)
GUICtrlSetColor(-1, 0x0000C0)
$aboutitem = GUICtrlCreateTreeViewItem("Über", $generalitem)
$compitem = GUICtrlCreateTreeViewItem("Computer", $generalitem)
$useritem = GUICtrlCreateTreeViewItem("Benutzer", $generalitem)
$resitem = GUICtrlCreateTreeViewItem("Auflösung", $displayitem)
$otheritem = GUICtrlCreateTreeViewItem("Sonstiges", $displayitem)
$startlabel = GUICtrlCreateLabel("Treeview Demo", 160, 90, 100, 20)
$aboutlabel = GUICtrlCreateLabel("Dieses kleine Skript demonstriert die Benutzung eines Treeview Controls.", 160, 70, 150, 60)
GUICtrlSetState(-1, $GUI_HIDE) ; Versteckt den "aboutlabel"-Text während der Initialisierung
$compinfo = GUICtrlCreateLabel("Name:" & @TAB & @ComputerName & @LF & "OS:" & @TAB & @OSVersion & @LF & "SP:" & @TAB & @OSServicePack, 160, 30, 200, 80)
GUICtrlSetState(-1, $GUI_HIDE) ; Versteckt den "compinfo"-Text während der Initialisierung
GUICtrlCreateLabel("", 0, 170, 350, 2, $SS_SUNKEN)
$togglebutton = GUICtrlCreateButton("&Umschalten", 35, 185, 70, 20)
$infobutton = GUICtrlCreateButton("&Info", 105, 185, 70, 20)
$statebutton = GUICtrlCreateButton("Auf/Zu", 175, 185, 70, 20)
$cancelbutton = GUICtrlCreateButton("&Abbrechen", 245, 185, 70, 20)
GUICtrlSetState($generalitem, BitOR($GUI_EXPAND, $GUI_DEFBUTTON)) ; Expandiert den "Allgemein"-Tree und stellt ihn im Stil 'fett' dar
GUICtrlSetState($displayitem, BitOR($GUI_EXPAND, $GUI_DEFBUTTON)) ; Expandiert den "Anzeige"-Tree und stellt ihn im Stil 'fett' dar
GUISetState()
While 1
$msg = GUIGetMsg()
Select
Case $msg = $cancelbutton Or $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $togglebutton ; Schriftstil 'Fett' ein/ausschalten
If BitAND(GUICtrlRead($generalitem), $GUI_DEFBUTTON) Then
GUICtrlSetState($generalitem, 0)
GUICtrlSetState($displayitem, 0)
Else
GUICtrlSetState($generalitem, $GUI_DEFBUTTON)
GUICtrlSetState($displayitem, $GUI_DEFBUTTON)
EndIf
Case $msg = $infobutton
$item = GUICtrlRead($treeview) ; Holt die Control-ID des aktuell gewählten Treeview-Items
If $item = 0 Then
MsgBox(64, "Treeview Demo", "Momentan ist kein Eintrag markiert")
Else
$text = GUICtrlRead($item, 1) ; Holt den Text des Treeview-Items
If $text == "" Then
MsgBox(16, "Fehler", "Fehler während der Abfrage des Treeview-Items")
Else
MsgBox(64, "Treeview Demo", "Aktuell gewähltes Item ist: " & $text) ; $advmsg[0] enthält den Text und $advmsg[1] den Statuswert des Treeview-Items
EndIf
EndIf
Case $msg = $statebutton ; Expandiert oder versteckt den markierten Tree
$item = GUICtrlRead($treeview)
If $item > 0 Then
$hItem = GUICtrlGetHandle($item)
GUICtrlSendMsg($treeview, $TVM_EXPAND, $TVE_TOGGLE, $hItem)
EndIf
; Die folgenden Items verstecken die anderen Labels (erster und zweiter Parameter) und zeigen anschließend die 'eigenen' Labels (dritter und vierter Parameter)
Case $msg = $generalitem
GUIChangeItems($aboutlabel, $compinfo, $startlabel, $startlabel)
Case $msg = $aboutitem
GUICtrlSetState($compinfo, $GUI_HIDE)
GUIChangeItems($startlabel, $startlabel, $aboutlabel, $aboutlabel)
Case $msg = $compitem
GUIChangeItems($startlabel, $aboutlabel, $compinfo, $compinfo)
EndSelect
WEnd
GUIDelete()
EndFunc ;==>Example
Func GUIChangeItems($hidestart, $hideend, $showstart, $showend)
Local $idx
For $idx = $hidestart To $hideend
GUICtrlSetState($idx, $GUI_HIDE)
Next
For $idx = $showstart To $showend
GUICtrlSetState($idx, $GUI_SHOW)
Next
EndFunc ;==>GUIChangeItems