ダイアログ - 選択メニューダイアログ複数のメニューから選択するタイプのダイアログを表示するAPIです。 大小関わらず、自作の独自イベントなどで利用することになるでしょう。 int 選択メニューダイアログ表示(文字列リスト型 文字列リスト, int X座標, int Y座標 ) メニューの項目数は最大で「36」個までである。 文字列リスト型 myList; myList.push_back("あああ"); myList.push_back("いいいい"); myList.push_back("ううううう"); int result = 選択メニューダイアログ表示(myList); // メニューダイアログで具体的な項目が選択されなかった場合0xFFFFが返ってくる。 if ( result == 0xFFFF ) { デバッグ出力 << "メニューはどの項目も選択されずキャンセルして閉じられました。"; } // 配列にアクセスするので、必ず範囲内に収まっているかチェックする。 if ( result != 0xFFFF ) { デバッグ出力 << "メニュー配列" << result << "が選択されました。\n上から" << result+1 << "番目です。" << endl; デバッグ出力 << "メニュー上の文字列" << myList[result] << "が選択されました!!"; } 文字列リスト型 の実態は vector<string> であるため、 文字列リスト型 myList{ "あああ", "いいいい", "ううううう" }; 事前にはメニュー項目の数や内容が定まらないため、1つ1つ push_back してゆくようなシーンもある まどろっこしく感じられるかもしれないが、これによって、「プログラムを組む段階では事前に知っていないメニュー」を作ることが可能だ。 例えば次のようなものである。 メニューの位置を指定することが可能座標を指定しない限りは画面の中央に表示されます。 文字列リスト型 list; list.push_back("あああああああああああああああああああああああ"); list.push_back("い"); list.push_back("う"); int result = 選択メニューダイアログ表示(list); 通常はこのように座標は指定せず、画面の中央に出すのがよいとは思いますが、 文字列リスト型 myList{ "あああ", "いいいい", "ううううう" }; int result = 選択メニューダイアログ表示(myList, 300, 200); より詳細を知るには...「選択メニューダイアログ」に関する主な所は以上となります。 詳しくは「ダイアログ情報型.h」を参照してください。 |