Объектно-ориентированное программирование на языке С++. Ноткин А.М. - 36 стр.

UptoLike

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

37
case cmCommand2:
// Обработка команды cmCommand2
СlearEvent( event );
break;
case cmCommandN:
// Обработка команды cmCommandN
СlearEvent( event );
break;
default: // событие не обработано
break;
}
};
}
Обработчик событий группы вначале обрабатывает команды группы,
а затем, если событие не обработано, передает его своим элементам, вызы-
вая их обработчики событий.
void TGroup::HandleEvent(TEvent& event)
{ if( event.what == evCommand )
{switch( event.message.command )
// обработка событий объекта-группы
default: // событие не группой обработано
//получить доступ к
первому элементу группы
while((event.what != evNothing)!!( /* просмотрены не все элементы */)
{
//вызвать HandleEvent текущего элемента
//перейти к следующему элементу группы
}
break;
}
}
Метод ClearEvent-очистка события.
ClearEvent очищает событие, присваивая полю event.What значение
evNothing.
Главный цикл обработки событий (метод Execute)
Главный цикл обработки событий реализуется в методе Execute
главной группы-объектаприкладная программапо следующей схеме:
int TMyApp::Execute()
{do{endState=0;
                                    37
     case cmCommand2:
        // Обработка команды cmCommand2
         СlearEvent( event );
         break;
        …
     case cmCommandN:
        // Обработка команды cmCommandN
         СlearEvent( event );
         break;
     default: // событие не обработано
      break;
      }
    };
}

      Обработчик событий группы вначале обрабатывает команды группы,
а затем, если событие не обработано, передает его своим элементам, вызы-
вая их обработчики событий.

void TGroup::HandleEvent(TEvent& event)
  { if( event.what == evCommand )
     {switch( event.message.command )
     // обработка событий объекта-группы
     default: // событие не группой обработано
     //получить доступ к первому элементу группы
     while((event.what != evNothing)!!( /* просмотрены не все элементы */)
     {
     //вызвать HandleEvent текущего элемента
     //перейти к следующему элементу группы
     }
      break;
   }
}
        Метод ClearEvent-очистка события.
        ClearEvent очищает событие, присваивая полю event.What значение
evNothing.

     Главный цикл обработки событий (метод Execute)
     Главный цикл обработки событий реализуется в методе Execute
главной группы-объекта “прикладная программа” по следующей схеме:
     int TMyApp::Execute()
     {do{endState=0;