Как обнаружить нажатие кнопки? - PullRequest
1 голос
/ 16 сентября 2011

Я пытаюсь создать простое приложение (используя Win32 API), которое показывает черное окно внутри кнопки, которая должна закрывать приложение. Проблема в том, что я не могу понять, как обнаружить нажатие кнопки PushBotton.

Немного покоя моего кода, например:

HWND hButton = CreateWindow(TEXT("Button"),TEXT("Exit"),WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,100,100,50,50,hWnd,0,hInstance,0);

Ответы [ 2 ]

6 голосов
/ 17 сентября 2011

Вкратце, вам нужно присвоить кнопке идентификатор, а затем обработать WM_COMMAND сообщения от этой кнопки в вашем окне proc.Статья на http://www.infernodevelopment.com/c-win32-api-tutorial дает достойный пример.

2 голосов
/ 17 сентября 2011

Вам необходимо проанализировать сообщение WM_COMMAND в процедуре главного окна:

LRESULT CALLBACK MainWndProc(  
HWND hwnd,        // handle to window  
UINT uMsg,        // message identifier  
WPARAM wParam,    // first message parameter  
LPARAM lParam)    // second message parameter  
{   
if ((uMsg == WM_COMMAND) && ((HWND)lParam == hButton))  //check MSDN for WM_COMMAND and BN_CLICKED notifications
{  
    //button was pressed  
}  
.......  
}  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...