Что нового

[Элементы GUI] Опрос состояний чекбоксов элемента ListView

erlik

Продвинутый
Сообщения
317
Репутация
84
Есть контрол ListView и в нем определенно число строк ListViewItem. Контрол создан со стилем
$LVS_EX_CHECKBOXES - то есть слева от строк чекбоксы. Нужно на нажатие кнопки произвести опрос всех данных чекбоксов в ListView на предмет наличия у них "галки". И при наличии получить строки в соответствующих ListViewItem.
Либо при каждом клике на чекбокс получать его состояние (включен\отключен) и строку содержимого ListViewItem.

Пробовал получать информацию с объекта через GUICtrlSetOnEvent ($ProcessListViewItem, "ClickListView"), но пока не понял как полученные данные можно использовать для моей задачи.

Код:
func ClickListView()
$TabItemId =GUICtrlRead($ProcessListView) ; возвращает id элемента 
$TabItemId1 =GUICtrlRead(GUICtrlRead($ProcessListView))  ;возвращает строку содержимого
$TabItemId2 =GUICtrlGetState($ProcessListView) ; возвращает -1,    не понял что означает 
ConsoleWrite($TabItemId&@lf) ; 
ConsoleWrite($TabItemId1&@lf) 
ConsoleWrite($TabItemId2&@lf)
endfunc

Клик на чекбокс срабатывает только если предварительно кликнуть\выделить строку - в итоге возвращаются одни и те же значения(что при клике на строку, что на чекбокс).
Ошибся -все таки отклик есть и значения разные -
при клике на строку
1597
строка
-1
а при клике на чекбокс
0,
0,
-1.
С первым вариантом все более менее понятно. А вот со вторым не очень. И почему значения в последнем случае всегда одни и те же - когда ставишь галку и когда снимаешь?
Как это все можно применить для моей задачи?
------------------------------------------------------------------------------------
Проблему решил - тему можно удалить.
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 713
Код:
_GUICtrlListView_GetItemChecked()


Вот еще тема.
 
Верх