Общие сведения о сообщениях Win32 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Общие сведения о сообщениях Win32

Поиск

При обработке сообщения WM_PAINT вначале выполняется функция BeginPaint (), которая подготавливает указанное окно к операции рисования, заполняет структуру ps данными об обновляемой области и возвращает дескриптор контекста устройства, связанного с этим окном.

 

Функция EndPaint() вызывается всякий раз по завершении операций вывода данных в рабочую область окна. Функция ставит Windows в известность, что приложение закончило обработку сообщений о перерисовке и имеющийся контекст устройства можно удалить.

 

Обработка сообщения WM_DESTROY.Когда пользователь выбирает в системном меню команду Close или нажимает кнопку закрытия окна, Windows посылает приложению сообщение WM_DESTROY. В ответ на это приложение завершает свою работу, вызывая функцию PostQuitMessage(), которая направляет в очередь сообщений приложения сообщение WM_QUIT, вследствие чего цикл обработки завершается.

 

Функция DefWindowProc() возвращает все нераспознанные или необработанные сообщения обратно системе, гарантируя таким образом, что все посылаемые приложению сообщения будут корректно обработаны.

 

Общие сведения о сообщениях Win32

 

Всего в Windows около 1000 сообщений, но, как правило, в каждом конкретном приложении приходится обрабатывать только малую их часть, т.к. многие из них характерны лишь для окон определенного типа или вовсе являются внутренними сообщениями Windows.

Имена всех стандартных сообщений Windows определены в файле winuser.h, например:

 

#define WM_PAINT 0x000F

 

Префикс WM_ говорит о том, что речь идет об оконном сообщении (Windows message). Есть и другие префиксы: EM_ - Edit Message, BM_ - Button Message, LN_ - Listbox Notification Message и т.д. Можно создавать и свои собственные сообщения. В целом все сообщения можно разбить на следующие категории:

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 50; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.006 с.)