Перекрытие GetEvent

Единственным источником событий является метод TView.GetEvent. Только этот метод обращается к внешним источникам информации - клавиатуре и мыши. Если в Вашей программе используются другие устройства ввода информации (например, джойстик или коммуникационный канал), Вы должны перекрыть этот метод и научить его работе с нестандартными устройствами.

Проще всего перекрыть метод можно при объявлении нового типа Вашей программы, например:

Арр,...;

Uses type

MyProgram = object (TApplication)

Procedure GetEvent(var Event: TEvent);Virtual;

.....

end;

Procedure MyProgram.GetEvent(var Event: TEvent); 

begin

'TApplication.GetEvent(Event); 

if Event.What = evNothing then 

begin

{Обращение к нестандартным источникам информации} 

end 

end;

Поскольку MyProgram в конечном счете наследует GetEvent от TView, все видимые элементы Вашей программы будут пользоваться новым источником информации.

Преимущества централизованного сбора событий очевидны. Перекрывая единственный метод GetEvent, Вы можете заставить программу реагировать на внешнюю информацию любым удобным для Вас способом. Например, можно перехватывать заранее обусловленные командные клавиши и развертывать их в целую серию событий. Таким способом легко создавать различного рода макрокоманды.