
05.07.2008, 20:38
|
|
Познающий
Регистрация: 04.07.2008
Сообщений: 56
С нами:
9396093
Репутация:
60
|
|
ZirroCool
Тебе нужно получить хэдл окна чекбокса, для этого перебираешь все дочерние окна главной формы функцией EnumChildWindows(hMain, EnumChildProc, 0);.
hMain - хэдл окна главной формы, его получаешь функией FindWindow(0, "FormTitle").
EnumChildProc - функция перебора дочерних окон. Возвращает 1 для продолжения перебора окон, 0 для прекращения. Первый параметр - хэдл очередного дочернего окна.
Код:
BOOL CALLBACK EnumChildProc(HWND hwnd , LPARAM lParam)
{
char szWindowText[255];
// Получаем заголовок окна
GetWindowText(hwnd, szWindowText, 255);
// Сравниваем с нашим, если нашли, то ставим галочку и останавливаем перебор
if(!lstrcmp(szWindowText, "CheckBox1")) {
SendMessage(hwnd, BM_SETCHECK, 1, 0);
return 0;
}
return 1;
}
BOOL WINAPI ProcessControl()
{
HWND hMain;
if(!(hMain = FindWindow(0, "FormTitle"))) {
return 0;
}
EnumChildWindows(hMain, EnumChildProc, 0);
return 1;
}
Таким образом можно искать любое окно на форме.
Последний раз редактировалось SlyBit; 06.07.2008 в 03:50..
|
|
|