Что нового

можно ли перебрать элементы TreeView, не создавая массив во время их создания ?

mitiya

Новичок
Сообщения
75
Репутация
0
формирую TreeView так :

Код:
Func TreeView_L()
	GUICtrlDelete ($iTreeView_L)
	$iTreeView_L = GUICtrlCreateTreeView(0, 0, 300, 500, $TVS_CHECKBOXES)
	$i= 1
	Do
		$var = RegEnumKey($Key, $i)
		If @error Then ExitLoop
		GUICtrlCreateTreeViewItem($var, $iTreeView_L)
		$i += 1
	Until 0
EndFunc


получается список с ключами реестра

потом я ставлю галочки, и хочу произвести операции с теми ключами на которых стоят галочки.
как мне получить список элементов с галочками, не создавая массив ID всех TreeViewItem во время их создания?
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
Код:
Func EnumItems()
  $item = _GUICtrlTreeView_GetFirstItem($iTreeView_L)
  Do
    If _GUICtrlTreeView_GetChecked($iTreeView_L, $item) Then
      ConsoleWrite("1")
    Else
      ConsoleWrite("0")
    EndIf
    $item = _GUICtrlTreeView_GetNext($iTreeView_L, $item)
  Until $item = 0
EndFunc
 
Автор
M

mitiya

Новичок
Сообщения
75
Репутация
0
это кажется то что нужно.
не подскажете еще как мне получить название пункта который отмечен галочкой ? Я так понимаю _GUICtrlTreeView_GetFirstItem возвращает дескриптор этого элемента, но в какой функции его использовать ?
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
mitiya [?]
получить название пункта который отмечен галочкой
Код:
If _GUICtrlTreeView_GetChecked($iTreeView_L, $item) Then
  ConsoleWrite(_GUICtrlTreeView_GetText($iTreeView_L, $item) & @LF)
EndIf
 
Верх