﻿;-- TIME_STAMP   2016-12-27 15:34:55

#include <GuiTreeview2Style.au3>
#include <WindowsConstants.au3>

Global $iStyle = BitOR($TVS_EDITLABELS, $TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS)
Global $iStyleCheck = BitOR($iStyle, $TVS_CHECKBOXES)
Global $iStyleEx = BitOR($WS_EX_COMPOSITED, $WS_EX_CLIENTEDGE)

$hGui = GUICreate('')
$aID = _GUICtrl_TreeView2Style_Create(10, 10, 200, 350, $iStyle, $iStyleCheck, $iStyleEx, $iStyleEx)
#cs
Sollen weitere Settings für das Treeview erforderlich sein (Color, Backcolor etc.) sind diese
bei beiden Treeview ($aID[1], $aID[2]) vorzunehmen.
$aID[0] enthält immer die ID des gerade verwendeten Treeview.
#ce
$cSwap = GUICtrlCreateButton('SwapStyle', 10, 370, 100, 20)

GUISetState()

_FillTreeview($aID[0])

While 1
	Switch GUIGetMsg()
		Case -3
			Exit
		Case $cSwap
			_GUICtrl_TreeView2Style_Swap($aID)
			_Expand_Show1st($aID[0])
	EndSwitch
WEnd

Func _FillTreeview($Ctrl)
	Local $hParent, $hChild
	For $i = 1 To Random(15, 25, 1)
		$hParent = _GUICtrlTreeView_Add($Ctrl, 0, $i)
		For $j = 1 To Random(3, 5, 1)
			$hChild = _GUICtrlTreeView_AddChild($Ctrl, $hParent, $i & '_' & $j)
			For $k = 1 To Random(1, 3, 1)
				_GUICtrlTreeView_AddChild($Ctrl, $hChild, $i & '_' & $j & '_' & $k)
			Next
		Next
	Next
	_Expand_Show1st($Ctrl)
EndFunc  ;==>_FillTreeview

Func _Expand_Show1st($_hWnd)
	_GUICtrlTreeView_Expand($_hWnd)
	_GUICtrlTreeView_SelectItem($_hWnd, _GUICtrlTreeView_GetFirstItem($_hWnd))
EndFunc