Windows API Урок 19. Добавляем обработчик для кнопки
Созданная нами на прошлом уроке кнопка никак не реагирует на щелчок. Исправим это.
Для этого мы должны добавить в switch оконной процедуры ветку WM_COMMAND.
Сообщение WM_COMMAND отправляется окну, когда пользователь выбирает пункт меню или использует акселератор для того или иного действия. Также это же сообщение посылается от различных элементов управления на окне (например, от кнопки в нашем случае).
Вот что, например, мы можем написать для нашей кнопки:
LONG WINAPI WndProc(HWND hwnd, UINT Message, WPARAM wparam, LPARAM lparam)
{
switch (Message){
case WM_COMMAND:
if(LOWORD(wparam)==10000)
{
MessageBox(hwnd, "Кнопка нажата", "", 0);
}
break;
...
Так как почти все элементы управления посылают WM_COMMAND, то нам надо как-то различать их. Это мы делаем через идентификатор элемента управления (10000 в нашем случае - см. предыдущий урок). Для сообщения WM_COMMAND он передается в младшей части wparam.
Наша программа в работе будет выглядеть так:
|