Сообщения (часть 1)
Сообщения операционной системы Windows очень напоминают событийные сообщения Delphi, реализованные в VCL-объектах. Схема использования сообщений Windows такая же — программист определяет реакцию (пишет код (обработчика события) на определенное событие. По мере наступления события операционная система передает управление в данный обработчик.
В отличие от событий VCL, где уже предопределены основные обработчики событий в объектах (программист только пишет код обработки в определенном обработчике соответствующего объекта), сообщения (message) операционной системы не имеют в программе явно выраженных обработчиков. Хотя данное утверждение не совсем верно, т. к. на нижнем уровне объектов VCL эти обработчики прописаны явно, можно сказать, что это гак. В приложение поступает огромное количество сообщений Windows, какие-то из них обрабатываются на уровне объектов VCL, но большинство не обрабатывается вообще. То есть, если вы хотите обработать какое-либо специфичное сообщение Windows, обработка которого не предусмотрена в объектах VCL Delphi, им должны явно создать собственный обработчик сообщений.
Сообщения Windows делятся на следующие:
- сообщения, предоставляющие информацию,— данный вид посылает запрос какому-либо элементу для получения некой информации. Например, когда Windows хочет получить заголовок окна, он посылает окну специальное сообщение, на которое окно должно отправить системе системе свой заголовок;
- уведомляющие сообщения — данный вид уведомляет приложение о начале какого либо действия и предоставляет возможность вмешаться в него. Например, в состав таких сообщений входит уведомление программы о начале перетаскивания окна.
Для реакции на каждое событие в Delphi обычно создается свой метод. Процедура Windows, называемая оконной, обрабатывает все сообщения.
Комментарии (0)