Турбо Паскаль 6.0



         

Обработка событий.


После того, как Вы определили команду и установили элемент управления, который генерирует ее - например, элемент меню или кнопка диалового окна - Вам нужно научить Ваш видимый элемент, как реагировать, когда возникает эта команда. Каждый видимый элемент наследует метод HandleEvent, который уже знает, как реагировать на большую часть ввода пользователя. Если Вы хотите, чтобы видимый элемент делал что-то специфическое для Вашей программы, Вам необходимо перекрыть HandleEvent и научить новый HandleEvent двум вещам - как откликаться на определенные Вами команды и как откликаться на события от мышки и клавиатуры нужным Вам образом. Метод HandleEvent определяет поведение видимого элемента. Два видимых элемента с идентичными методами HandleEvent будут одинаково откликаться на события. Когда Вы порождаете новый тип видимого элемента, Вы обычно хотите, чтобы его поведение более или менее соответствовало его предку с некоторыми изменениями. Наиболее простой способ достичь этого - вызвать HandleEvent предка в методе HandleEvent нового объекта. Общий вид HandleEvent наследника:

procedure NewDescendant.HandleEvent(var Event: TEvent); begin {Код, изменяющий или ограничивающий унаследованное поведение} Parent.HandleEvent(Event); {Код, выполняющий дополнительные функции} end;

где Parent - тип предка. Другими словами, если Вы хотите, чтобы новый объект обрабатывал события не так, как это делал его предок, Вы должны перехватить определенные события до передачи события в метод HandleEvent предка. Если Вы хотите, чтобы Ваш новый объект вел себя также, как его предок, но с дополнительными функциями, Вы должны добавить код после вызова процедуры HandleEvent предка.




Содержание  Назад  Вперед