WxWidgets/wxChoice

出典: YKAwiki

目次

概要

プルダウンメニューのように、クリックするとリストが展開され、その中から選んだりするGUIアイテムです。

参考リンク

wxWidgets/wxListCtrl

wxWidgets/wxListBox

http://www.wxwidgets.org/manuals/stable/wx_wxchoice.html#wxchoice

使い方

作成

wxDialogwxWindowwxFrameを継承したクラス内で、

wxWindowId id = 0;
wxChoice* choice = new wxChoice(this, id);

とするか、

wxChoice* choice2 = new wxChoice();
choice2->Create(this, id);

として生成します。

全削除

choice->Clear();

追加

最後に追加

wxString str(_T("Hoge"));
choice->Append(str);

途中に追加

int index = 2;
choice->Insert(str, index);

これはwxWidgets/wxListBoxと同じ。

削除

choice->Delete(index);

選択取得

直接取得する場合

int index = choice->GetSelection();

イベントハンドラから取得する場合

親となるwxDialog/wxWindow/wxFrame継承クラス内に

class Hoge{
 DECLARE_EVENT_TABLE()
};

を記述。

BEGIN_EVENT_TABLE(PlatformDialog, wxDialog)
 EVT_CHOICE(id, PlatformDialog::func)
END_EVENT_TABLE()

などとしてイベントハンドラへ関連づけ。

void PlatformDialog::func(wxCommandEvent& event){
 int index = event.GetSelection();
}

で取得。

選択設定

int index = 5;
choice->SetSelection(index);

で選択状態にすることが出来ます。