§ 4. Объектно-событийная модель работы программы

4.2. События

Организация взаимодействия между программой и пользователем управляется событиями: пользователь может нажать на клавишу мыши или клавиатуры, переместить мышь, ввести текст и др.

Метод программирования, основанный на управлении событиями, называют событийно-ориентированным программированием.

Каждое событие связано с каким-либо объектом, которому передается управление в тот момент времени, когда происходит событие.

Функция, инициируемая событием, называется обработчиком события.

В современных языках программирования события и обработчики событий являются центральным звеном реализации графического интерфейса пользователя. Среди основных событий можно выделить три категории: события мыши, события клавиатуры и системные события (примеры 4.44.6).

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

Объектно-событийная модель программы предполагает следующее:

  • создание объектов с присущими им свойствами и методами;
  • описание событий, при которых объект может выполнять алгоритм обработки данных, менять свое состояние или активизировать другой объект.

Пример 4.4. События мыши возникают в том случае, если пользователь производит какие-либо действия с мышью:

Click

Нажатие левой кнопки мыши

DblClick

Двойной щелчок левой кнопкой мыши

MouseDown

Нажатие на любую кнопку мыши. Параметры обработчика события позволяют определить какая из кнопок была нажата, и в какой точке.

MouseUp

Освобождение кнопки мыши, которая была нажат

MouseMove

Перемещение указателя мыши

Пример 4.5. События клавиатуры происходят при нажатии клавиш на клавиатуре:

KeyDown

Нажатие любой клавиши, включая функциональные и специальные

KeyPress

Нажатие клавиши, с текстовым символом

KeyUp

Освобождение любой клавиши

Пример 4.6. Системные события управляются функциями операционной системы:

Create

Происходит при создании объекта

Paint

Возникает, когда элемент необходимо перерисовать

Resize

Происходит, когда размеры элемента изменяются

Enter

Возникает, когда элемент управления становится активным

Leave

Происходит, когда элемент управления перестает быть активным