|
||||||||
|
Реализация событий
Рассмотрим, как реализованы события на уровне языка Object Pascal. События ? это свойства процедурного типа, предназначенные для создания пользовательской реакции на те или иные входные воздействия:
Присвоить такому свойству значение ? это означает указать объекту адрес метода, который будет вызываться в момент наступления события. Такие методы назовем обработчиками событий. Например, когда вы пишете
это означает, что при каждой активизации Application (так называется объект, соответствующий работающему приложению) будет вызван метод-обработчик MyActivatingMethod. Внутри библиотеки времени выполнения Delphi вызовы обработчиков событий находятся в методах, обрабатывающих сообщения Windows. Выполнив принципиально необходимые действия, этот метод проверяет, известен ли адрес обработчика, и, если это так, вызывает его:
События имеют разные типы в зависимости от происхождения и предназначения. Общим для всех является параметр Sender ? он указывает на объект-источник события. Самый простой тип ? TNotifyEvent ? не имеет других параметров:
Тип метода, предназначенный для извещения о нажатии клавиши, предусматривает передачу программисту кода этой клавиши, о передвижении мыши ? ее координат и т. п. Подробно конкретные события описаны в разделе "Библиотека визуальных компонентов". Все события в Delphi принято именовать с "On": OnCreate, OnMouseMove, OnPaint и так далее. Щелкнув в Инспекторе объектов на странице Events в поле любого события, вы получите в программе заготовку метода нужного типа. При этом его имя будет состоять из имени текущего компонента и имени события (без "On"), а относиться он будет к текущей форме. Пусть, например, на форме Form1 есть текст Label1. Тогда для обработки щелчка мышью на нем (событие OnClick) будет создан метод TForm1.Label1Click.
Для комментария : kadan@grsu.grodno.by | |||||||||||
За содержание страницы отвечает Гончарова М.Н. © Кафедра СПиКБ, 2002-2017 |