logo
Программирование в среде Delphy / Программирование в среде Delphi

18. Выделение памяти под объект и прародитель всех классов – tobject

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

Property OnMyEvent:TmyEvent Read FOnMyEvent

Write FonMyEvent;

Присвоить такому свойству значение – это значит указать адрес метода, который будет вызываться в момент наступления события. Такие методы называются обработчиками событий. События имеют разные типы, но общим для всех является параметр Sender – указатель на объект – источник события. Самый простой тип события это тип

TnotifyEvent=procedure(Sender:Tobject) of Object;

Здесь «of Object» означает, что данный тип определяет именно метод, а не обычную процедуру. Приставка On в имени свойства означает, что данное свойство является событием, хотя не каждое событие может иметь такую приставку. Для определения события необходимо в разделе Private объявить поле указателя на метод. В разделе Protected нужно объявить методы чтения и записи адреса обработчика события в это поле. Затем в разделе Published объявить само событие, как свойство процедурного типа. В инспекторе объектов есть две страницы: страница свойств (Properties) и страница событий (Events). Двойной щелчок левой клавишей мыши по событию приводит к появлению обрамления обработчика события в тексте программного модуля Unit.

Общими для всех компонентов являются события (наследники класса TControl):

OnClick – нажатие левой клавиши мыши,

OnDblClick – двойной щелчок левой клавиши мыши,

OnMouseDown – нажатие любой клавиши мыши,

OnMouseMove – перемещение курсора мыши по компоненту,

OnMouseUp – отжатие кнопки мышки.

Общими для оконных элементов управления являются события (наследники класса TWinControl):

OnEnter – перемещение фокуса ввода на компонент, который становится активным,

OnExit – потеря активности компонентом,

OnKeyDown – нажатие клавиши или комбинации клавиш,

OnKeyPress – нажатие каждой одиночной клавиши,

On KeyUp – отпускание клавиши.