Главная » Delphi » Принципы работы системы сообщений Windows

0

Система сообщений Windows состоит из трех компонентов.

•  Очередь сообщений  (Message  queue). Windows  поддерживает отдельную  очередь сообщений для каждого  приложения. Приложение Windows  должно  получать сообщения из этой очереди и передавать их соответствующему окну.

•  Цикл сообщений (Message  loop). Группа циклически выполняемых операторов приложения, осуществляющая выборку  сообщения из очереди и передачу  его соответствующему окну для обработки. Цикл  выборки и передачи сообщений выполняется на протяжении всего периода работы приложения.

•  Процедура окна (Window  procedure). Каждое  окно  приложения имеет  собствен ную процедуру, которая получает все передаваемые данному  окну сообщения. В ответ  на полученное сообщение процедура должна  выполнить определенные действия. Эта процедура является процедурой обратного вызова  и обычно воз вращает Windows некоторое значение по завершении обработки сообщения.

НА ЗАМЕТКУ

Функция обратного вызова (callback function) представляет собой функцию в про- грамме, обращение к которой осуществляет операционная система Windows или неко- торый другой внешний модуль.

Путешествие сообщения из пункта  А (где произошло породившее его событие) в пункт Б (окно пользовательского приложения, отвечающее на это сообщение) состо ит из пяти этапов.

1.  В системе происходит некоторое событие.

2.  Windows  превращает это  событие в соответствующее сообщение и помещает его в очередь сообщений приложения.

3.  Приложение получает сообщение из очереди и помещает его в запись типа TMsg.

4.  Приложение передает сообщение процедуре соответствующего окна приложения.

5.  Процедура окна выполняет некоторые действия в ответ на сообщение.

Этапы  3 и 4 являются циклом сообщений, который фактически представляет собой “сердце”  программы Windows.  Именно этот  цикл  обеспечивает взаимодействие про граммы  с внешним миром, получая  сообщения из очереди и передавая их соответст вующему окну приложения. Если  очередь сообщения данного приложения будет ис черпана, система  Windows  обратится к другим  приложениям и позволит им выпол нить обработку сообщений в их очередях. Все описанные выше действия показаны на рис. 3.1.

Рис. 3.1. Схема системы сообщений Windows

Источник: Тейксейра, Стив, Пачеко, Ксавье.   Borland Delphi 6. Руководство разработчика. : Пер.  с англ. — М. : Издательский дом “Вильямс”, 2002. —  1120 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии