CheckBox! Определение хэндла!
Привет Всем! Появился такой вопрос! Есть форма, на ней есть несколько CheckBox(например 3), все они находятся, допустим, на панельке!Class всех CheckBox одинаков!При помощи функций FindWindow и FindWindowEx я нахожу хэндлы главного окна - > панельки - > а вот потом, как найти хэндл ,например, именно 2го CheckBox? Caption у всех пустой! Подскажите как выйти из этой ситуации...
|
LilLoco форма в своей программе или сторонней?
В своей ввести глобального переменные типа HWND и при создании CheckBox присвоить переменным дескрипторы последних. Также не помешает присвоить идентификаторы CkeckBox'ам, если CheckBox'ы создаются непосредственно функцией CreateWindow(Ex), это третий параметр с конца. Код:
enum CheckBoxIds {CheckBoxXId = 1, CheckBoxXId2, CheckBoxXId3}; В первом случаи указывать FindWindowEx искать дальше в панельке дочерние окна, во втором отбросить что найдена панелька и искать дальше чекбоксы, такие же дочерние окна как и сама панелька у формы. |
Admiral, Приложение не свое, чужое! Как раз смотрел через Spy++, боксы принадлежат панельке, у боксов одинаковые Class, пустые Caption! Делал поиск через FindWindowEx, и при помощи SendMessage ставил галочку, но у меня срабатывало на последнем боксе, а нужно например на втором!
|
h = GetDlgItem(hW, ID)
hW - хендл родителя. ID - ID элемента, по идеи он у всех разный. Его можно узнать через Spy++ |
Sanchos, Спасибо :) Завтра буду пробовать!
|
Так, объясните мне пожалуйста,
Цитата:
|
А вы уверенны что то значение что там написано это хендл родительского окна? )))))
Я всегда использую h = GetDlgItem(hW, ID) и всё работает. |
Цитата:
|
ну и что? вам выполнить задачу нужно или что?
Напоминает: - Это красный? - да, это красный? - а это точно он? - да! - а мне кажется это бардовый... хотя палка иногда тоже стреляет )))))))) в общем, для моих целей это работает, а уж как у вас будет .... ))) |
Цитата:
|
Время: 08:21. |
Время: 08:21.
© OSzone.net 2001-