ВУЗ:
Составители:
Рубрика:
36
Событие от клавиатуры может иметь, например, такую структуру:
struct KeyDownEvent
{union{int keyCode;
union{char charCode;
char scanCode;
};
};
};
evMessage событие-сообщение от объекта.
Для события от объекта (evMessage) задаются два параметра :
command – код команды, которую необходимо выполнить при появ-
лении данного события;
infoPtr – передоваемая с событием (сообщение) информация.
struct MessageEvent
{int command;
void infoPtr;
};
Методы обработки событий
Следующие методы необходимы для организации обработки собы-
тий (названия произвольны).
GetEvent – формирование события;
Execute реализует главный цикл обработки событий. Он постоянно
получает событие путем вызова GetEvent и обрабатывает их с помощью
HandleEvent. Этот цикл завершается, когда поступит событие «конец».
HandleEvent – обработчик событий. Обрабатывает каждое событие
нужным для него образом. Если объект должен обрабатывать определен-
ное событие (сообщение), то его метод HandleEvent должен распознавать
это событие и реагировать на него должным образом. Событие может рас-
познаваться, например, по коду команды (поле command).
ClearEvent очищает событие, когда оно обработано, чтобы оно не
обрабатывалось далее.
Обработчик событий (метод HandleEvent)
Получив событие (структуру типа TEvent), обработчик событий для
класса TDerivedClass обрабатывает его по следующей схеме:
void TDerivedClass::HandleEvent(TEvent& event)
{ //Вызов обработчика событий базового класса
TBaseClass::handleEvent( event );
if( event.what == evCommand ) // Если обработчик событий базового
класса // событие не обработал
Страницы
- « первая
- ‹ предыдущая
- …
- 32
- 33
- 34
- 35
- 36
- …
- следующая ›
- последняя »
