GUICtrlCreateTreeViewItem
Создаёт TreeViewItem (пункт / меню в древовидном меню) в GUI.
GUICtrlCreateTreeViewItem ( "text", treeviewID )
Параметры
text | Текст элемента |
treeviewID |
Идентификатор TreeView (основного дерева) или созданного TreeViewItem (поддерева). |
Возвращаемое значение
Успех: | Возвращает идентификатор (controlID) нового элемента. |
Ошибка: | Возвращает 0. |
Примечания
Для дополнительной информации о настройках смотрите GUICtrlUpdate....См. также
GUICtrlCreateTreeView, GUICtrlUpdate..., GUIGetMsg, GUICtrlRead, GUICtrlGetHandleПример
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <TreeViewConstants.au3>
Opt('GUIResizeMode', 802) ; по умолчанию не изменять размеры и позицию элементов
$hGui = GUICreate("Демонстрация GUICtrlCreateTreeView", 640, 410, -1, -1, $WS_OVERLAPPEDWINDOW) ; стиль изменения размера окна
$treeview = GUICtrlCreateTreeView(5, 35, 200, 370, BitOR($TVS_TRACKSELECT, $TVS_SINGLEEXPAND, $TVS_FULLROWSELECT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS), $WS_EX_CLIENTEDGE)
GUICtrlSetResizing(-1, 2 + 32 + 64 + 256)
$tree1 = GUICtrlCreateTreeViewItem("Тексты", $treeview)
GUICtrlSetColor(-1, 0x0000C0)
$item1 = GUICtrlCreateTreeViewItem("текст1", $tree1)
$item2 = GUICtrlCreateTreeViewItem("текст2", $tree1)
$item3 = GUICtrlCreateTreeViewItem("текст3", $tree1)
$tree2 = GUICtrlCreateTreeViewItem("Справочники", $treeview)
GUICtrlSetColor(-1, 0x0000C0)
$item4 = GUICtrlCreateTreeViewItem("справочник1", $tree2)
$item5 = GUICtrlCreateTreeViewItem("справочник2", $tree2)
$item6 = GUICtrlCreateTreeViewItem("Подробности", $item4)
$item7 = GUICtrlCreateTreeViewItem("Описание", $item4)
$Edit = GUICtrlCreateEdit("Демонстрация работы GUICtrlCreateTreeView", 210, 35, 425, 370, 0x1000 + 0x0004)
GUICtrlSetResizing(-1, 2 + 4 + 32 + 64)
$Text1 = 'TreeView может иметь разные стили оформления. Например: ' & @CRLF & '$TVS_FULLROWSELECT - выделяется вся строка пункта' & @CRLF & '$TVS_SINGLEEXPAND - развёрнут только один раздел' & @CRLF & '$TVS_TRACKSELECT - подчёркивать при наведении' & @CRLF & '$TVS_SHOWSELALWAYS - выделен при потере фокуса' & @CRLF & '$TVS_CHECKBOXES - пункты с галочками'
$Text2 = "Имя:" & @TAB & @ComputerName & @CRLF & "OS:" & @TAB & @OSVersion & @CRLF & "SP:" & @TAB & @OSServicePack
$Text3 = "Текущая дата " & @YEAR & "." & @MON & "." & @MDAY & "_" & @HOUR & "." & @MIN & "." & @SEC
$togglebutton = GUICtrlCreateButton("Ж", 5, 5, 25, 25)
$infobutton = GUICtrlCreateButton("?", 35, 5, 25, 25)
$statebutton = GUICtrlCreateButton("-/+", 65, 5, 25, 25)
GUISetState()
While 1
$msg = GUIGetMsg()
Switch $msg
Case $item1
GUICtrlSetData($Edit, $Text1)
Case $item2
GUICtrlSetData($Edit, $Text2)
Case $item3
GUICtrlSetData($Edit, $Text3)
Case $item5
GUICtrlSetData($Edit, 'Раздел в разработке')
Case $item6
GUICtrlSetData($Edit, 'Обычная вставка текста в элемент Edit')
Case $item7
GUICtrlSetData($Edit, 'Такой вариант может использоваться в виде записной книжки')
Case $togglebutton ; Переключить отрисовку жирного шрифта
If BitAND(GUICtrlRead($tree1), $GUI_DEFBUTTON) Then
GUICtrlSetState($tree1, 0)
GUICtrlSetState($tree2, 0)
Else
GUICtrlSetState($tree1, $GUI_DEFBUTTON)
GUICtrlSetState($tree2, $GUI_DEFBUTTON)
EndIf
Case $infobutton
$item = GUICtrlRead($treeview) ; Получить идентификатор (ID) текущего выделенного пункта treeview
If $item = 0 Then
MsgBox(64, "Сообщение", "Нет выделенных", 0, $hGui)
Else
$text = GUICtrlRead($item, 1) ; Получить текст пункта treeview
If $text == "" Then
MsgBox(16, "Ошибка", "Ошибка при поиске инфо о пункте", 0, $hGui)
Else
MsgBox(64, "Сообщение", "Выделен пункт: " & $text, 0, $hGui) ; $advmsg[0] содержит текст и $advmsg[1] значение состояния пункта treeview
EndIf
EndIf
Case $item4
GUICtrlSetState($item4, $GUI_EXPAND)
Case $tree1
GUICtrlSetState($tree1, $GUI_EXPAND)
Case $tree2
GUICtrlSetState($tree2, $GUI_EXPAND)
Case $statebutton
$item = GUICtrlRead($treeview)
If $item > 0 Then
$hItem = GUICtrlGetHandle($item)
GUICtrlSendMsg($treeview, $TVM_EXPAND, $TVE_TOGGLE, $hItem)
EndIf
Case -3
Exit
EndSwitch
WEnd