-
AutoIt
(
http://forum.oszone.net/forumdisplay.php?f=103)
TREEVIEWITEM: Как определить, включен или выключен элемент?
Подскажите, пожалуйста, что нужно написать вместо знаков ???, чтобы при нажатии кнопки появилось окно, в котором написано, включен или выключен элемент E1?
Код:
GuiCreate("Пример", 400, 400)
$TV1=GuiCtrlCreateTreeView(0,0,100,200,0x00000100)
GuiCtrlCreateTreeViewItem("E1",$TV1)
GuiCtrlCreateTreeViewItem("E2",$TV1)
GuiCtrlCreateTreeViewItem("E3",$TV1)
$B1=GUICtrlCreateButton("Проверить", 100, 0, 100)
GuiSetState()
While 1
$msg = GUIGetMsg()
Select
Case $msg=-3
ExitLoop
Case $msg=$B1
???
EndSelect
WEnd
|
Код:
#include <GUIConstantsEx.au3>
#include <TreeViewConstants.au3>
GUICreate("Пример", 400, 400)
$TV1 = GUICtrlCreateTreeView(0, 0, 100, 200, $TVS_CHECKBOXES)
$E1_TVItem = GUICtrlCreateTreeViewItem("E1", $TV1)
$E2_TVItem = GUICtrlCreateTreeViewItem("E2", $TV1)
$E3_TVItem = GUICtrlCreateTreeViewItem("E3", $TV1)
$B1 = GUICtrlCreateButton("Проверить", 100, 0, 100)
GUISetState()
While 1
$msg = GUIGetMsg()
Select
Case $msg = -3
ExitLoop
Case $msg = $B1
$iIsChecked = BitAND(GUICtrlRead($E1_TVItem), $GUI_CHECKED) = $GUI_CHECKED
MsgBox(64, "Test", "E1 отмечен: " & $iIsChecked)
EndSelect
WEnd
|
Creat0R, спасибо...
Я понял, что надо присвоить имя каждому элементу, к которому необходимо будет обращаться, и то что состояния чекбоксов хранятся как биты...
Сама конструкция проверки бита понятна, но я бы ее не составил, если бы не знал о побитном хранении состояний чекбоксов...
|
Время: 15:47.
© OSzone.net 2001-