Событийно-управляемое программирование
Каждое действие в Windows вызывает событие, которое в виде сообщения передается в приложение (например, двойной щелчок на документе Word сообщает приложению – хватит спать, давай работать). Приложение анализирует сообщение и выполняет соответствующее действие (загружается и открывает документ). Приложения, создаваемые с помощью ИСР, также работают по этому принципу. Но при этом часть работы среды берут на себя. Они перехватывают сообщение и передают его соответствующему объекту (например, «Кнопка»), где затем вызывает соответствующее событие (например, «Нажать»).
В программах, управляемых событиями, нет сплошного кода, который выполняется с начала до конца. После запуска таких программ у пользователя нет четко определенного пути. Он может в любой момент нажать какую-нибудь кнопку, ввести данные текста в соответствующее поле, прекратить обработку и вызвать другую программу.
В соответствии с тем, что определен событийный механизм управления, для каждого объекта (управляющие элементы, формы) в системе определен перечень относящихся к нему событий. Реакцию на событие можно запрограммировать. Для этого с помощью кода создаются процедуры обработки событий (событийные процедуры).
Сначала выбирают объект — элемент управления пользовательского интерфейса, для которого будет записана программа его действий. Далее раскрывают список процедур, то есть событий для выбранного объекта, при совершении которых над объектом будет выполняться записанная программа, и выбирают подходящее событие.
В заголовке каждой процедуры, написанной для объекта на форме, указывается имя объекта, для которого написана процедура и названия выбранного события, в скобках после имени процедуры записываются ее параметры, которые могут и отсутствовать
Каждая процедура представляет собой отдельный программный модуль.
В событийной процедуре может участвовать несколько объектов. Например, само событие происходит с первым объектом, в результате второй объект изменяет значение своего свойства, а третий – реализует какой-либо метод.
Существует определенный формат программного кода, задающего установку свойства и использование метода:
объект.свойство = значение;
объект.метод([Параметр [...]]);
где Объект - имя настраиваемого объекта;
Свойство - характеристика, которую нужно изменить;
Значение - новая установка свойства;
Метод - команда, которая используется для изменения объекта;
Параметр - аргумент, используемый методом.
Главное преимущество работы с объектами в том, что объекты обеспечивают программный код, который уже не требуется писать разработчику. Ему просто нужно установить свойства объекта и вызвать методы объекта, чтобы побудить объект выполнить требуемые функции.
Состояние объекта можно изменить двумя способами:
1. Изменить значение свойств (Properties), принадлежащих объекту (например, для текстового окна — его размер, цвет, тип шрифта), либо на стадии проектирования, либо задавая значения свойств в программном коде.
2. Применить к объекту методы (Methods), определенные для данного объекта в языке программирования (например, для графического окна – установить фокус, очистить, выдать в него результат).