Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] TREEVIEWITEM: Как определить, включен или выключен элемент? (http://forum.oszone.net/showthread.php?t=150074)

snoitaleR 09-09-2009 08:38 1214536

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


Creat0R 09-09-2009 09:28 1214563

Код:

#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


snoitaleR 09-09-2009 10:03 1214593

Creat0R, спасибо...
Я понял, что надо присвоить имя каждому элементу, к которому необходимо будет обращаться, и то что состояния чекбоксов хранятся как биты...
Сама конструкция проверки бита понятна, но я бы ее не составил, если бы не знал о побитном хранении состояний чекбоксов...


Время: 15:47.

Время: 15:47.
© OSzone.net 2001-