Теория и практика объектно-ориентированного программирования. Ноткин А.М. - 28 стр.

UptoLike

Составители: 

29
Событие. Событие с точки зрения языка Паскальэто запись,
отдельные поля которой характеризуют те или иные свойства переда-
ваемой информации, например:
Type
TEvent = record
What : word;
case What of
evNothing : ( );
evMouse : ({поля}
evKeyDown : ({поля});
evMessage : (
command : word;
Info : integer) end;
Запись TEvent состоит из двух частей. Первая (What) задает тип со-
бытия, определяющий источник данного события. Вторая задает информа-
цию, передаваемую с событием.
Для разных типов событий содержание
информации различно.
evNothing
это пустое событие, которое означает, что ничего делать
не надо. Полю what присваивается значение evNothing, когда событие об-
работано каким-либо объектом.
evMouse – событие от «мыши».
evKeyDown –событие от клавиатуры.
Для события от объекта (evMassage) задаются два параметра:
command – код команды, который необходимо выполнить при появ-
лении данного события;
Info – передаваемая с событием информация.
Методы обработки событий. Следующие методы необходи-
мы для организации обработки событий.
GetEventформирование события;
Executeреализует главный цикл обработки событий. Он постоянно
получает событие путем вызова GetEvent и обрабатывает их с помощью
HandleEvent. Этот цикл завершается, когда поступит событиеконец”.
HandleEventобработчик событий. Обрабатывает каждое событие
нужным для него образом. Если
объект должен обрабатывать определен-
ное событие (сообщение), то его метод HandleEvent должен распознавать
это событие и реагировать на него должным образом. Событие может рас-
познаваться, например, по коду команды (поле command).
ClearEventочищает событие, когда оно обработано, чтобы оно не
обрабатывалось далее.
                                   29

      •       Событие. Событие с точки зрения языка Паскаль – это запись,
   отдельные поля которой характеризуют те или иные свойства переда-
   ваемой информации, например:
      Type
      TEvent = record
      What : word;
      case What of
      evNothing : ( );
      evMouse : ({поля}
      evKeyDown : ({поля});
      evMessage : (
      command : word;
      Info : integer) end;
      Запись TEvent состоит из двух частей. Первая (What) задает тип со-
бытия, определяющий источник данного события. Вторая задает информа-
цию, передаваемую с событием. Для разных типов событий содержание
информации различно.
      evNothing – это пустое событие, которое означает, что ничего делать
не надо. Полю what присваивается значение evNothing, когда событие об-
работано каким-либо объектом.
      evMouse – событие от «мыши».
      evKeyDown –событие от клавиатуры.
      Для события от объекта (evMassage) задаются два параметра:
      command – код команды, который необходимо выполнить при появ-
лении данного события;
      Info – передаваемая с событием информация.

      •    Методы обработки событий. Следующие методы необходи-
мы для организации обработки событий.
      GetEvent – формирование события;
      Execute – реализует главный цикл обработки событий. Он постоянно
получает событие путем вызова GetEvent и обрабатывает их с помощью
HandleEvent. Этот цикл завершается, когда поступит событие “конец”.
      HandleEvent – обработчик событий. Обрабатывает каждое событие
нужным для него образом. Если объект должен обрабатывать определен-
ное событие (сообщение), то его метод HandleEvent должен распознавать
это событие и реагировать на него должным образом. Событие может рас-
познаваться, например, по коду команды (поле command).
      ClearEvent – очищает событие, когда оно обработано, чтобы оно не
обрабатывалось далее.