Перекрытие 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, Вы можете заставить программу реагировать на внешнюю информацию любым удобным для Вас способом. Например, можно перехватывать заранее обусловленные командные клавиши и развертывать их в целую серию событий. Таким способом легко создавать различного рода макрокоманды.