Понятие о событийном управлении Windows
Если рассматривать работу программ, написанных в консольном приложении, то следует отметить, что после их запуска начинают выполняться операторы метода Main().
Особенность поведения программ, написанных для Windows,является то, что программы после их запуска переходят в бесконечный цикл ожидания сообщений поступающих отWindows.
Сообщения – это реакция операционной системы Windowsна происходящих в системе событиях – нажатии клавиши на клавиатуре, перемещении курсора мыши, деления на ноль и т.д.
События обрабатывается специальными программами Windows – драйверами. Например, драйверы периферийных устройств компьютера (клавиатуры, мыши или таймер). Драйвера создают сообщения, которые пересылаются Windows.
В основе работы операционной системы Windows лежит принцип событийного управления. Это означает, что и сама система и все приложения, написанные для Windows, после запуска ожидают действий пользователя или сообщений операционной системы и реагируют на них определенным образом.
Сообщение Windowsявляется записью, которая содержит информацию о том, что произошло и дополнительную информацию (параметры) о произошедшем событии. Например, структура некоторого сообщения может включать дескриптор окна программы, код (идентификатор) сообщения, уточняющие параметры (например, координаты x и y курсора мыши) и время создания сообщения.
Все сообщения, получаемые Windows, помещаются в системную очередь сообщений, которая существует в единственном варианте. Далее из системной очереди сообщения распределяются в очереди сообщений отдельных Windows-приложений. При этом для каждого приложения создается своя очередь сообщений. Очередь сообщения приложений может пополняться не только из системной очереди. Любое приложение может послать сообщение любому другому сообщению, в том числе и само себе.
Каждое Windows-приложений имеет непрерывный цикл обработки собственной очереди сообщений поступающих от Windows. С помощью этого цикла приложение извлекает сообщения и передает их соответствующим обработчикам сообщений окна приложения. Каждое окно приложения имеет свой цикл обработки сообщений, а также свою функцию окна, которой передаются сообщения, извлеченные из очереди приложения.
Обычно Windows-приложений имеет главное окно, в котором располагаются основные элементы управления – меню, кнопки, полосы прокрутки, флажки и т. д. Работая с приложением, пользователь выбирает строки меню, нажимает кнопки или используете другие элементы управления.
Каждый элемент управления (кнопка или строка меню) имеет свой идентификатор. Когда Вы нажимаете на кнопку или выбираете строку меню, в очередь сообщений приложения Windowsзаносит сообщение, содержащее идентификатор использованного элемента управления. Таким образом операционная система Windows направляет сообщение от использованного элемента управления в очередь того приложения, к которому принадлежит данный элемент управления.
В предложенной структуре есть очевидная часть работы программиста – написать обработчики сообщений на некоторые события, например, клик мышкой по кнопке окна вашего приложения.
В приложениях, создаваемых дляWindows, (File -> New -> Project -> Windows Forms Application), всегда используется два основных типа (классы пространства имен) – Form и Application.
Класс Application управляет поведением приложения – запускает метод Main(), в котором находится цикл обработки сообщений, выполняет необходимые действия при выборке сообщений и корректно завершает работу приложения (файл Program.cs).
Класс Form определяет пользовательский интерфейс приложения – он инициализирует окно формы и готовит приложение к работе (файл Form1.cs).
Более подробно работу этих классов мы будем изучать по мере необходимости при изучении материала дисциплины.
Рассмотрим последовательность действий при создании простого приложения дляWindows.
Дата добавления: 2018-11-25; просмотров: 353;