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