Сообщения управления окнами


Типичное окно отвечает на множество сообщений. Приведем обзор наиболее часто обрабатываемыхсообщений:

  • WM_CREATE - это первое сообщение, которое получает оконная процедура созданного класса. Оно посылается перед тем, как окно станет видимым, и перед завершением функций CreateWindow или CreatWindowEx. В ответ на это сообщение приложение может выполнить необходимые функции инициализации перед тем, как окно станет видимым.
  • WM_DESTROY - посылается оконной процедуре окна, которое уже удалено с экрана и должно быть разрушено.
  • WM_CLOSE - указывает, что окно должно быть закрыто. Обработчик по умолчанию в функции DefWi ndowProc при получении этого сообщения вызывает DestroyWindow. Приложение может, например, вывести диалоговое окно подтверждения и вызвать DestroyWindow только в случае подтверждения пользователем закрытия окна.
  • WM_QUIT - это обычно последнее сообщение, которое получает основное окно приложения. Получение этого сообщения приводит к возврату нулевого значения функцией GetMessage, что в свою очередь приводит к завершению цикла сообщений большинства приложений. Это сообщение требует завершить приложение. Оно генерируется в ответ на вызов функции PostQuitMessage.
  • WM_QUERYENDSESSION - уведомляет приложение о намерении Windows закончить сеанс. Приложение может возвратить значение FALSE в ответе на это сообщение, предотвратив этим выключение Windows. После обработки сообщения WM_QUERYENDSESSION Windows посылает всем приложениям сообщение WM_ENDSESSION с результатами этой обработки.
  • WM_ENDSESSION - посылается приложениям после обработки сообщения WM_QUERYENDSESSION. Оно указывает, должна ли Windows выключиться, или выключение отложено. При указании выключения сеанс Windows может закончиться в любое время после обработки сообщения WM_ENDSESSION всеми приложениями. Поэтому важно, чтобы приложения выполнили все задачи по обеспечению безопасного завершения работы.
  • WM_ACTIVATE - указывает, что окно верхнего уровня будет активизировано или деактивизировано. Сообщение сначала посылается окну, которое должно быть деактивизировано, а потом окну, которое должно быть активизировано.
  • WM_SHOWWINDOW - указывает, что окно должно быть скрыто или отображено. Окно может быть скрыто в результате вызова функции ShowWindow или в результате максимизации другого окна.
  • WM_ENABLE – посылается окну, когда оно становится доступным или недоступным. Это может произойти после вызова функции EnableWindow. Недоступное окно не может принимать вводимые данные от мыши или клавиатуры.
  • WM_MOVE – указывает, что расположение окна изменилось.
  • WM_SIZE – указывает,что размер окна был изменен.
  • WM_SETFOCUS – указывает получение окном фокуса клавиатуры.
  • WM_KILLFOCUS – указывает, что окно должно потерять фокус клавиатуры.
  • WM_GETTEXT – посылается окну, запрашивая копирование текста окна в буфер. Для большинства окон текстом является их заголовок. Для элементов управления типа кнопок и т.д. текстом окна является текст, отображаемый в этих элементах. Обычно это сообщение обрабатывается функцией DefWindowProc.
  • WM_SETTEXT – запрашивает установку текста окна из содержимого буфера. Функция DefWindowProc в ответ на это сообщение устанавливает текст окна и соответственно его отображает.


Дата добавления: 2017-01-26; просмотров: 1078;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.041 сек.