0597デフォルトの名無しさん
2013/12/28(土) 17:54:40.37理想の実装になるかわからない&C++しかわからないが
wxMenuをそのまま使うのが良いと思います
実装の骨子
・メニューの項目一つ一つにwxWindowID ( enum )を振る
・wxWindowIDはwxCommandEventで起動するようにしておく
・上記のwxCommandEventを処理する関数はenumをswitch文で処理する
・wxCommandEventはEVT_MENU_RANGEで定義しておく(enum値が 1000~1200の場合反応する関数を作るなど)
アイテムを編集可能にするために
・EVT_UPDATE_UIをwxMenuに設定しておき、ユーザーがメニューの項目を触ったら更新を実施
右クリック
・wxのConnectとかBindでwxMouseEventをくっつければいいと思う
-------------------------------------------------------
上記をやろうとすると、ユーザーが設定した項目でループを回して常に更新かける
感じになるんじゃないでしょうか。
wxMenu *menu = new wxMenu;
wxMenu *foo = new wxMenu;
for ( ユーザーが設定した数だけループ ) {
foo->Append(wxID_HOGEHOGE_RANGE + i , wxT("ユーザー設定項目1"));
foo->Connect(); // 右クリックイベントを定義しておく
}