WM_NCHITTEST | Это сообщение генерируется драйвером мыши при любых перемещениях мыши. | ||
WM_MOUSEMOVE | Перемещение курсора мыши во внутренней области окна | ||
WM_NСMOUSEMOVE | Перемещение курсора мыши во внешней области окна | ||
WM_MOUSEACTIVATE | Активизация неактивного окна при помощи мыши. | ||
От левой клавиши мыши | |||
WM_LBUTTONDBLCLK | Двойной щелчок левой клавишей мыши во внутренней области окна | ||
WM_LBUTTONDOWN | Нажата левая клавиша мыши во внутренней области окна | ||
WM_LBUTTONUP | Отпущена левая клавиша мыши во внутренней области окна | ||
WM_NCLBUTTONDBLCLK | Двойной щелчок левой клавишей мыши во внешней области окна | ||
WM_NCLBUTTONDOWN | Нажата левая клавиша мыши во внешней области окна | ||
WM_NCLBUTTONUP | Отпущена левая клавиша мыши во внешней области окна | ||
Аналогичные сообщения приходят от средней и правой клавиш мыши с префиксами WM_RBUTTON и WM_MBUTTON | |||
Таблица 5
Сообщения от клавиатуры
WM_KEYDOWN | Нажата клавиша клавиатуры | |
WM_KEYUP | Отжата клавиша | |
WM_SYSKEYDOWN | Нажата системная клавиша | |
WM_SYSKEYUP | Отжата системная клавиша | |
WM_CHAR | Символьное сообщение |
Таблица 6
|
|
Сообщения для управление окнами
WM_CREATE | Посылается после создания окна | |
WM_DESTROY | Окно будет уничтожено | |
WM_PAINT | Требуется перерисовка окна | |
WM_CLOSE | Окно будет закрыто | |
WM_MOVE | Посылается после перемещения окно | |
WM_SIZE | После изменения размеров окна | |
И др. |
Простейшая Windows программа
Приложение, которое реагирует на сообщения должно содержать, по крайней мере, 2 функции: WinMain() и WndProc().
Функция WinMain()
Функции WinMain должна выполнить следующие действия:
· зарегистрировать класс окна приложения (возможно и другие классы), здесь же указывается, какая функция будет обрабатывать сообщения этого окна;
· создать главное окно, на основе созданного класса и отобразить его на экране (и другие, подчиненные окна);
· запустить цикл обработки сообщений;
· пока не получено сообщение WM_QUIT, отправлять сообщения на обработку в функцию окна;
· по сообщению WM_QUIT завершить работу приложения.