[ < ]

[ > ]

 

[ << ]

[ Up ]

[ >> ]

 

 

 

 

[Top]

[Contents]

[Index]

[ ? ]

4.3.1.2 Esemény kezelés

A könyebb tesztelés érdekében lehetőséget adunk az alkalmazás futásának megszakítására az ESC billentyű segítéségével. Adjuk hozzá a következő privát metódust a fő osztályunkhoz a 'simple.h' fejállományban:



 

bool OnKeyboard (iEvent&);

Az OnKeyboard() függvény akkor fog meghívódni amikor egy esemény érkezik. Add a következő kódot a `simple.cpp' -hez a Simple::OnInitialize() elé:

 

bool Simple::OnKeyboard(iEvent& ev)
{
  csKeyEventType eventtype = csKeyEventHelper::GetEventType(&ev);
  if (eventtype == csKeyEventTypeDown)
  {
    utf32_char code = csKeyEventHelper::GetCookedCode(&ev);
    if (code == CSKEY_ESC)
    {
      csRef<iEventQueue> q =
        CS_QUERY_REGISTRY(GetObjectRegistry(), iEventQueue);
      if (q.IsValid()) q->GetEventOutlet()->Broadcast(cscmdQuit);
    }
  }
  return false;
}



Az OnKeyboard() ellenőrzi, hogy az ESC billentyű le lett-e nyomva Haigen, az objektum nyilvántartót fogjahaszánlni a globális esemény sor megtalálásához.. A Broadcast() használatával ekkor elküldi a `cscmdQuit' körüzenetet minden érdekes résznek. Ez azt eredményezi, hogy az alkalmazás leáll a főhurok megszakításával.


[ < ]

[ > ]

 

[ << ]

[ Up ]

[ >> ]

This document was generated using texi2html 1.76.