![]() ![]() ![]()
|
BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア : SophiaFramework UNIVERSE 5.0 |
SFR レスポンダシステム(旧レスポンダシステム)は、SophiaFramework UNIVERSE 6.0 以降廃止される予定です。
これから、新たに GUI アプレットを開発する場合は、SFY レスポンダシステム(新レスポンダシステム)を使用してください。
参照 : SFY レスポンダシステム用マクロ(新レスポンダシステム) | SFY レスポンダシステム(新レスポンダシステム)
イベントハンドラは HANDLER_DECLARE_ で始まる名前のマクロで宣言します。
表 24.40. イベントハンドラ宣言用マクロ
| マクロ | 意味 |
|---|---|
| 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_ で始まる名前のマクロで実装します。
表 24.41. イベントハンドラ実装用マクロ
| マクロ | 意味 | 第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 引数以降はハンドラによって異なります。 | |
![]() |
汎用ハンドラとは |
|---|---|
「セレクトキーのみのハンドラを作成する」など、開発者の用途に合わせて任意に作成できるハンドラです。 | |
例 24.35. 汎用ハンドラ使用例
// 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 Incorporated All Rights Reserved. |
![]() ![]() ![]()
|