SophiaFramework UNIVERSE 5.3 |
メニュー処理のレスポンダは 4 種類提供されます。
表 10.10. メニューの種類
クラス名 | 解説 |
---|---|
SFRPlainMenu | タイトルやフレームのないなメニューを表すレスポンダです。 |
SFRFrameMenu | フレーム付きのメニューを表すレスポンダです。 |
SFRTitleMenu | タイトル付きのメニューを表すレスポンダです。 |
SFRTextMenu | テキストメニューを表すレスポンダです。 |
例 10.48. メニューの使い方
// メニューハンドラの宣言 HANDLER_DECLARE_VOIDMENU(MenuHandler) // メニューハンドラの実装 // 第 1 引数 : 所属クラス名 // 第 2 引数 : ハンドラの名前 // 第 3 引数 : result // 第 4 引数 : menu ( へのポインタ ) HANDLER_IMPLEMENT_VOIDMENU(TextMenu, MenuHandler, result, menu) { // セレクトキーまたはクリアキーのキーイベントを受信したときに起動する if (result == SRP16_ESCAPE) { // クリアキーのキーイベントを受信したとき TRACE("cancel"); } else { // セレクトキーのキーイベントを受信したとき ( result には選択した項目の番号が入る ) TRACE("%s", SFRTextMenuPtr(menu)->GetTitle(result)); } } // メニューの定義 SFRTextMenuPtr menu; // メニューの作成 menu = ::new SFRTextMenu(SFXRectangle((50,100,150,150) "SFRTextMenu", null, 0); // メニュー項目の追加 menu->AppendItem("item1", AVK_1); menu->AppendItem("item2", AVK_2); menu->AppendItem("item3", AVK_3); menu->AppendItem("item4", AVK_4); // メニューハンドラの登録 menu->RegisterHandler(SREVT_MENU, HANDLER_BEFORE, HANDLER_FUNCTION(MenuHandler));
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |