Важной особенностью события является возможность связать его с некоторым программным кодом - обработчиком события. Чтобы это стало возможным на этапе конструирования программы, события должны отображаться в окне Инспектора объектов. С этой целью формально они объявляются в виде свойств. Поскольку типом свойства-события является указатель на метод, свойство-событие имеет RTTI-информацию с признаком tkMethod, что позволяет Инспектору объектов отделить их от других опубликованных свойств и поместить на вкладку Events своего окна.

Подобно другим свойствам, свойства-события имеют внутренние поля, в которых хранятся указатели на обработчики событий. В отличие от других свойств, свойства-события не используют косвенные способы доступа к этим полям с помощью процедур WriteXXXX и функций GetXXXX. Вместо этого они просто ссылаются на эти поля. Например:

type

TMyControl = class(TGraphicControl) private

FOnClik: TNotifyEvent; // Поле для указателя на метод

published

// Объявление свойства-события:

property OnClick: TNotifyEvent read FOnClick write FOnClick;

end;

9.1. Природа событий || Оглавление || 9.1.3. Обработчик события - процедура


Искусство создания компонентов Delphi



Новости за месяц

  • Август
    2019
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс