Daan |
Отправлено: 03.06.2005, 08:44 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 62
|
Доброе время сутток.....
У меня такой вопросик...
пусть есть окошко
achwnd = CreateWindow(szClassName2, szWindowTitle2, WS_SYSMENU, 271, 163, 430, 400, hWND, 0, hInstance, NULL);
У него есть дочернее
hGroupBox=CreateWindow("button", "Выберите действие", WS_CHILD|WS_VISIBLE|BS_GROUPBOX, 8,16,410,300, achwnd, (HMENU)ID_GROUPBOX, hInstance, NULL);
В свою очередь у него тоже есть дочернее
hChSysButton = CreateWindow("button", "Выполнить системные действия", WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX, 24, 150, 235, 17, hGroupBox, (HMENU)ID_CHSYSBUTTON, hInstance, NULL);
как отдовить момент когда нажата "Выполнить системные действия". Или как это делается??? как работать с BS_GROUPBOX???? |
|
radiofun |
Отправлено: 03.06.2005, 13:10 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 20
|
поставь хук:
[CODE]
hHook=SetWindowsHookEx(WH_CALLWNDPROC,(HOOKPROC)CallWndProc,NULL, GetCurrentThreadId());
LRESULT CALLBACK CallWndProc(int nCode,WPARAM wParam,LPARAM lParam)
{
if(nCode==HC_ACTION)
{
LPCWPSTRUCT pStruct=((LPCWPSTRUCT)lParam);
if(pStruct->hwnd==hChSysButton && pStruct->message==BN_CLICKED && !pStruct->wParam)
{
действие...
}
}
return 0;
}
[CODE] |
|
Daan |
Отправлено: 03.06.2005, 22:11 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 62
|
хм.... а более не как... мне почему то кажется что должно как то проще быть... Зачем майкрасофт придумал такую дурость если с ней приходится так сложно работать....
Неужели с этим так и следуе работать???? |
|
radiofun |
Отправлено: 05.06.2005, 15:54 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 20
|
Проще наверняка есть только мне не известно как....
Почему бы не писать на VCL там с етим проще |
|
Daan |
Отправлено: 06.06.2005, 02:15 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 62
|
QUOTE (radiofun @ 05/06/2005, 17:54) | Почему бы не писать на VCL там с етим проще |
Изучаю API... |
|
|