Дістемелік кешен


Оқиғаны өңдегіш (HandleEvent әдісі)



бет78/112
Дата22.12.2021
өлшемі0,85 Mb.
#127596
түріПрограмма
1   ...   74   75   76   77   78   79   80   81   ...   112
Байланысты:
ооп лекция
қорытынды атт 11.03.21, қорытынды атт 11.03.21, эссеге керек
Оқиғаны өңдегіш (HandleEvent әдісі).

TDerivedClass класы үшін оқиғаны алып, оқиғаны өңдегіш оны келесі схема бойынша өңдейді:


void TDerivedClass::HandleEvent(TEvent& event)

{ //Базалық кластың оқиға өңдегішін шақыру

TBaseClass::handleEvent( event );

if( event.what == evCommand ) // Егер базалық кластың оқиға өңдегіші оқиғаны // өңдемесе

{

switch( event.message.command )



{

case cmCommand1:

// cmCommand1 командасын өңдеу

// Оқиғаны тазарту

СlearEvent( event );

break;


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;



}

}



Достарыңызбен бөлісу:
1   ...   74   75   76   77   78   79   80   81   ...   112




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет