Модификация механизма событий.
Сердцем текущего модального видимого элемента является цикл типа:
var E: TEvent; begin E.What := evNothing; repeat if E.What <> evNothing then EventError(E); GetEvent(E); HandleEvent(E); until EndState <> Continue; end;