Событийно-управляемое программирование

Каждое действие в Windows вызывает событие, которое в виде сообщения передается в приложение (например, двойной щелчок на документе Word сообщает приложению – хватит спать, давай работать). Приложение анализирует сообщение и выполняет соответствующее действие (загружается и открывает документ). Приложения, создаваемые с помощью ИСР, также работают по этому принципу. Но при этом часть работы среды берут на себя. Они перехватывают сообщение и передают его соответствующему объекту (например, «Кнопка»), где затем вызывает соответствующее событие (например, «Нажать»).

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

В соответствии с тем, что определен событийный механизм управления, для каждого объекта (управляющие элементы, формы) в системе определен перечень относящихся к нему событий. Реакцию на событие можно запрограммировать. Для этого с помощью кода создаются процедуры обработки событий (событийные процедуры).

Сначала выбирают объект — элемент управления пользовательского интерфейса, для которого будет записана программа его действий. Далее раскрывают список процедур, то есть событий для выбранного объекта, при совершении которых над объектом будет выполняться записанная программа, и выбирают подходящее событие.

В заголовке каждой процедуры, написанной для объекта на форме, указывается имя объекта, для которого написана процедура и названия выбранного события, в скобках после имени процедуры записываются ее параметры, которые могут и отсутствовать

Каждая процедура представляет собой отдельный программный модуль.

В событийной процедуре может участвовать несколько объектов. Например, само событие происходит с первым объектом, в результате второй объект изменяет значение своего свойства, а третий – реализует какой-либо метод.

Существует определенный формат программного кода, задающего установку свойства и использование метода:

объект.свойство = значение;

объект.метод([Параметр [...]]);

где Объект - имя настраиваемого объекта;

Свойство - характеристика, которую нужно изменить;

Значение - новая установка свойства;

Метод - команда, которая используется для изменения объекта;

Параметр - аргумент, используемый методом.

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

Состояние объекта можно изменить двумя способами:

1. Изменить значение свойств (Properties), принадлежащих объекту (например, для текстового окна — его размер, цвет, тип шрифта), либо на стадии проектирования, либо задавая значения свойств в программном коде.

2. Применить к объекту методы (Methods), определенные для данного объекта в языке программирования (например, для графического окна – установить фокус, очистить, выдать в него результат).