ホーム > デベロッパ > SophiaFramework > BREW C++ 逆引きコード集

BREW C++ プログラミング : SophiaFramework 逆引き FAQ・コード集

最高 3 つのボタンを持つ選択ダイアログを作成する

SFRMultiDialog クラスを使って、最高 3 つのボタンを持つ選択ダイアログを作成します。

class ExampleAppli : public SFRApplication {
    ...
       
      // ダイアログ ハンドラの宣言
    HANDLER_DECLARE_VOIDDIALOG(OnDialog)

    SFRDialogPtr _dialog;
    
    ...
};

// ダイアログ ハンドラ
HANDLER_IMPLEMENT_VOIDDIALOG(ExampleAppli, OnDialog, result, dialog)
{
    
    switch (result) {
         case SRP16_OK:         // OK ボタンが押されたとき
             // 何か処理を行う
         break;

        case SRP16_CANCEL:     // CANCEL ボタンが押されたとき
             // 何か処理を行う
        break;

        case SRP16_ANOTHER:    // ANOTHER ボタンの場合
            // 何か処理を行う
        break;
    }
}

// 選択ダイアログを設定する
SFRMultiDialog::ParamRec param;
param.text = "アプリを終了しますか?";
param.ok = "はい";
param.cancel = "いいえ";
param.another = "";                      // 空文字の場合、ボタンは表示されない
param.focus = SFRMultiDialog::FOCUS_OK,  // フォーカスの位置
param.image = SFBImageSmp(null);         // アイコンのイメージ

// ダイアログを作成する
_dialog= new SFRMultiDialog(SFXRectangle(20, 80, 200, 100),
                              "確認", 
                              param);

// ダイアログ ハンドラを登録する
_dialog->RegisterHandler(SREVT_DIALOG, 
                        HANDLER_BEFORE, 
                        HANDLER_FUNCTION(OnDialog));