![]() ![]() ![]()
|
BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア : SophiaFramework 4.1 |
イベント ハンドラは HANDLER_DECLARE_ で始まる名前のマクロで宣言します。
表 23.7. イベント ハンドラ宣言用マクロ
| マクロ | 意味 |
|---|---|
| HANDLER_DECLARE_VOIDRENDER | 描画ハンドラ |
| HANDLER_DECLARE_VOIDSTART | アプリ開始ハンドラ |
| HANDLER_DECLARE_BOOLSTART | アプリ開始ハンドラ |
| HANDLER_DECLARE_VOIDSTOP | アプリ終了ハンドラ |
| HANDLER_DECLARE_BOOLSTOP | アプリ終了ハンドラ |
| HANDLER_DECLARE_VOIDRESUME | レジューム ハンドラ |
| HANDLER_DECLARE_BOOLRESUME | レジューム ハンドラ |
| HANDLER_DECLARE_VOIDSUSPEND | サスペンド ハンドラ |
| HANDLER_DECLARE_BOOLSUSPEND | サスペンド ハンドラ |
| HANDLER_DECLARE_VOIDDIALOG | ダイアログ ハンドラ |
| HANDLER_DECLARE_BOOLDIALOG | ダイアログ ハンドラ |
| HANDLER_DECLARE_VOIDMENU | メニュー ハンドラ |
| HANDLER_DECLARE_BOOLMENU | メニュー ハンドラ |
| HANDLER_DECLARE_VOIDCONTROL | コントロール ハンドラ |
| HANDLER_DECLARE_BOOLCONTROL | コントロール ハンドラ |
| HANDLER_DECLARE_VOIDVOID | 汎用ハンドラ |
| HANDLER_DECLARE_BOOLVOID | 汎用ハンドラ |
| HANDLER_DECLARE_VOIDEVENT | 汎用ハンドラ |
| HANDLER_DECLARE_BOOLEVENT | 汎用ハンドラ |
![]() |
注意 |
|---|---|
| 引数はハンドラ名です。 | |
イベント ハンドラは HANDLER_IMPLEMENT_ で始まる名前のマクロで実装します。
表 23.8. イベント ハンドラ実装用マクロ
| マクロ | 意味 | 第3引数 | 第4引数 | 第5引数 |
|---|---|---|---|---|
| HANDLER_IMPLEMENT_VOIDRENDER | 描画ハンドラ | graphics ( グラフィック オブジェクト ) | なし | なし |
| HANDLER_IMPLEMENT_VOIDSTART | アプリ開始ハンドラ | environment | なし | なし |
| HANDLER_IMPLEMENT_BOOLSTART | アプリ開始ハンドラ | environment | なし | なし |
| HANDLER_IMPLEMENT_VOIDSTOP | アプリ終了ハンドラ | quitable | なし | なし |
| HANDLER_IMPLEMENT_BOOLSTOP | アプリ終了ハンドラ | quitable | なし | なし |
| HANDLER_IMPLEMENT_VOIDRESUME | レジューム ハンドラ | environment | なし | なし |
| HANDLER_IMPLEMENT_BOOLRESUME | レジューム ハンドラ | environment | なし | なし |
| HANDLER_IMPLEMENT_VOIDSUSPEND | サスペンド ハンドラ | reason | info | なし |
| HANDLER_IMPLEMENT_BOOLSUSPEND | サスペンド ハンドラ | reason | info | なし |
| HANDLER_IMPLEMENT_VOIDDIALOG | ダイアログ ハンドラ | result | dialog (へのポインター) | なし |
| HANDLER_IMPLEMENT_BOOLDIALOG | ダイアログ ハンドラ | result | dialog (へのポインター) | なし |
| HANDLER_IMPLEMENT_VOIDMENU | メニュー ハンドラ | result | menu (へのポインター) | なし |
| HANDLER_IMPLEMENT_BOOLMENU | メニュー ハンドラ | result | menu (へのポインター) | なし |
| HANDLER_IMPLEMENT_VOIDCONTROL | コントロール ハンドラ | result | control (へのポインター) | なし |
| HANDLER_IMPLEMENT_BOOLCONTROL | コントロール ハンドラ | result | control (へのポインター) | なし |
| HANDLER_IMPLEMENT_VOIDVOID | 汎用ハンドラ | なし | なし | なし |
| HANDLER_IMPLEMENT_BOOLVOID | 汎用ハンドラ | なし | なし | なし |
| HANDLER_IMPLEMENT_VOIDEVENT | 汎用ハンドラ | event (イベント オブジェクト) | なし | なし |
| HANDLER_IMPLEMENT_BOOLEVENT | 汎用ハンドラ | event (イベント オブジェクト) | なし | なし |
![]() |
注意 |
|---|---|
| 第 1 引数は所属クラス名、第 2 引数にはハンドラの名前です。第 3 引数以降はハンドラによって異なります。 | |
![]() |
汎用ハンドラとは |
|---|---|
「セレクトキーのみのハンドラを作成する」など、開発者の用途に合わせて任意に作成できるハンドラです。 | |
例 23.1. 汎用ハンドラ使用例
// MyWindow クラスの定義 SFMTYPEDEFCLASS(MyWindow) class MyWindow : public SFRTitleWindow { SFMSEALCOPY(MyWindow) public: MyWindow(Void) static_throws; virtual ~MyWindow(Void) // 汎用ハンドラの宣言 HANDLER_DECLARE_VOIDVOID(OnSelectKey) }; // 汎用ハンドラの登録 // セレクトキーのみのハンドラを登録する RegisterHandler(SFEVT_KEY, AVK_SELECT, HANDLER_AFTER, HANDLER_FUNCTION(OnSelectKey)); // 汎用ハンドラの実装 // セレクトキーのみなので、イベントパラメーターを取得しない HANDLER_IMPLEMENT_VOIDVOID(MyWindow, OnSelectKey) { // アプリを終了する Terminate(); return; }
|
Copyright (C) 2002 - 2008 Sophia Cradle, Inc. All Rights Reserved. |
![]() ![]() ![]()
|