|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
SendMessage+CheckList
Народ, подскажите как получить состояние "Cheked|Uncheked" чужого окна из CheckList? Кучу примеров есть для CheckBox. Пробовал их юзать - не получается
Код:
1. k:=SendMessage(hw,LVM_GETITEMSTATE,1,0); 2. k:=SendMessage(hw,CB_GETCURSEL,1,0); 3. k:=SendMessage(hw,LB_GETSEL,1,0); 4. k:=SendMessage(hw,LB_GETCURSEL,1,0); 5. k:=SendMessage(hw, BM_GETCHECK, 1, 0) 6. k:=SendMessage(hw, BM_GETState, 1, 0) где 3ий параметр - порядковый номер в листе. Причём текст этих ячеек я успешно получаю: Код:
l:=SendMessage(hw,LB_GETTEXTLEN,1,0); SetLength(s,l); SendMessage(hw,LB_GETTEXT,1,Integer(s)); Подскажите как получить значение чека в чеклисте? |
#2
|
||||
|
||||
BM_GETCHECK: >0 - checked, =0 - unchecked
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
|||
|
|||
Цитата:
Цитата:
|
#4
|
||||
|
||||
К сожалению, умею лишь считывать из "чужих" окошек текст, могу нажимать там некоторые кнопки, ещё немного мелочёвки - сталкивался в своих сборках, иного не дано, поэтому чисто теоретика, вдобавок так и не нашёлся RzChkLst.pas, сплошные dcu-шки, что из себя представляет TRzCheckList, его методы, узнать не удалось
Но давайте посмотрим, что может выдавать на-гора листбокс (раз с LB_GETTEXT у вас прокатывает) lb_GetCount - вероятно так можно узнать общее кол-во птис в этом списке lb_GetCurSel; lb_GetSel; lb_GetSelItems - возвращают индекс выбранного элемента, если вы меняли состояние чека, то скорее всего это и будет он самый lb_GetItemData - вот это ужо сурьозный аргумент, можно в цикле опрашивать все элементы списка, проверяя битовое состояние возвращаемой переменной, может из 32х какой и отвечает за галку, всё может быть, надо проверять lb_GetItemRect - во, графика попёрла. Это совсем грубо, но вероятно так можно отследить состояние (внешне "чеканутая" область будет отличаться от области без галки) Крайний вариант Замечание: Конечно, это всё относится к текстовым данным, но возможно среди них и прячется указатель на состояние чекового поля, всё может быть Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#5
|
||||
|
||||
lb_GetItemData - Не подойдёт, отвечает за данные хранимые для выбранного пункта.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |