Foundation > イベント > 下位レベルのイベント処理
 
下位レベルのイベント処理
アプリケーションがイベントを処理する最も一般的な方法は、アプリケーションを初期化した後に IlvMainLoop を呼び出すことです。IlvMainLoop は、次の到着イベントを取得し、適切なコンポーネントにディスパッチする無限ループです。ただし、アプリケーションには独自のイベント・ループを定義する必要のないものもあります。このため Rogue Wave® Views では、次の関数またはメソッドを用意しています。
*イベント・ループを定義する IlvDisplay メソッドは次のとおりです。
*hasEvents
*readAndDispatchEvents
*waitAndDispatchEvents
*イベント・ループを定義する IlvEventLoop メソッドは次のとおりです。
*pendingInput
*processInput
*nextEvent
*dispatchEvent
メイン・ループの定義:例
以下は、IlvMainLoop と同等なコンストラクターの一覧です。
while (1)
display->waitAndDispatchEvents();
 
while (1)
IlvEventLoop::getEventLoop()->processInput(IlvInputAll);
Windows プラットフォームのみ:
MSG msg;
while (IlvEventLoop::getEventLoop()->nextEvent(&msg))
IlvEventLoop::getEventLoop()->dispatchEvent(&msg);
 
MSG msg; // obsolete version
while (IlvNextEvent(&msg))
IlvDispatchEvent(&msg);
UNIX プラットフォームのみ:
XEvent xev;
while (1) {
IlvEventLoop::getEventLoop()->nextEvent(&xev);
IlvEventLoop::getEventLoop()->dispatchEvent(&xev);
}
 
XEvent xev; // obsolete version
while (1) {
IlvNextEvent(&xev);
IlvDispatchEvent(&xev);
}
(libxviews とは対照的に) libmviews のみを使用した UNIX プラットフォーム:
XtAppMainLoop(IlvApplicationContext());
 
XEvent xev;
while (1) {
XtAppNextEvent(IlvApplicationContext(), &xev);
XtDispatchEvent(&xev);
}
 

Version 6.0
Copyright © 2015, Rogue Wave Software, Inc. All Rights Reserved.