Есть контрол ListView и в нем определенно число строк ListViewItem. Контрол создан со стилем
$LVS_EX_CHECKBOXES - то есть слева от строк чекбоксы. Нужно на нажатие кнопки произвести опрос всех данных чекбоксов в ListView на предмет наличия у них "галки". И при наличии получить строки в соответствующих ListViewItem.
Либо при каждом клике на чекбокс получать его состояние (включен\отключен) и строку содержимого ListViewItem.
Пробовал получать информацию с объекта через GUICtrlSetOnEvent ($ProcessListViewItem, "ClickListView"), но пока не понял как полученные данные можно использовать для моей задачи.
Клик на чекбокс срабатывает только если предварительно кликнуть\выделить строку - в итоге возвращаются одни и те же значения(что при клике на строку, что на чекбокс).
Ошибся -все таки отклик есть и значения разные -
при клике на строку
1597
строка
-1
а при клике на чекбокс
0,
0,
-1.
С первым вариантом все более менее понятно. А вот со вторым не очень. И почему значения в последнем случае всегда одни и те же - когда ставишь галку и когда снимаешь?
Как это все можно применить для моей задачи?
------------------------------------------------------------------------------------
Проблему решил - тему можно удалить.
$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.
С первым вариантом все более менее понятно. А вот со вторым не очень. И почему значения в последнем случае всегда одни и те же - когда ставишь галку и когда снимаешь?
Как это все можно применить для моей задачи?
------------------------------------------------------------------------------------
Проблему решил - тему можно удалить.