logo search
Лекции програм_new_последняя версия1

Объектно-событийное программирование. События

Программистам, работающим в Windows можно не пояснять смысл слова событие. Сама среда Windows и написанные в ней программы управляются событиями, возникающими в результате действия пользователя, а также аппаратуры ПК и других программ. Программирование, ориентированное на события - неотъемлемая черта Windows. Delphi предоставляет полный доступ к подструктуре событий, предоставляемой Windows. С другой стороны, Delphi упрощает программирование обработчиков таких событий.

Событие – это свойство процедурного типа, предназначенное для создания пользовательской реакции на те или иные входные воздействия:

Property OnMyEvent:TMyEvent read FOnMyEvent

write FOnMyEvent;

Здесь OnMyEvent – имя свойства, TMyEvent – процедурный тип; FOnMyEvent – есть поле объекта, содержащее адрес некоторого метода. Присвоить свойству значение – значит указать объекту адрес метода, который будет вызван в момент наступления события.

В Delphi принято называть событиями специальные свойства процедурного типа, которым в качестве значений присваиваются имена методов, где описана реакция на событие. Такие методы называются обработчиками событий.

Все события Delphi принято предварять префиксом On. Например, OnClickсобытие при щелчке клавиши мыши, OnKeyPressпри нажатии любой клавиши клавиатуры, OnCreate при создании компонента, OnMouseMove – при перемещении мыши.

Щелкнув в инспекторе объектов на странице Events в поле нужного события, вы получите в программе заготовку метода нужного типа. При этом имя метода будет состоять из имени текущего компонента и имени события (без префикса on), относиться он будет к текущей форме. Например, пусть на форме Form1 есть кнопка Button1, тогда для обработки щелчка мыши на кнопке (событие OnClick) будет создана заготовка метода:

procedure Form1.Button1Click(Sender:TObject);

begin

. . . . . .{вставить программный код}

end;