私はwxMenuを使用していて、イベントを処理する方法が必要です。メニュー項目をクリックしたときに発生するイベントを処理するものだけが本当に必要です。具体的には、任意の関数ポインター(void(*)(void)の形式)を指定して、指定されたイベントが発生したときにその関数ポインターが呼び出されるようにします。
メニューは事前にわからないので、私が理解しているイベントテーブルは出ています。
BindとConnectを見つけましたが、どちらも機能していないようです(Connectについてもこれを参照してください)。
コードの追加:
class Menu : public wxMenu {
public:
void handle_event(wxCommandEvent& event) {
volatile int i = 6; //to prevent this method being optimized out
//breakpoint here that never gets hit
//selecting a callback to call (based on event.GetID()) could go here
}
};
//Later, in a function (menu is instance of Menu)
menu->Connect(
wxEVT_COMMAND_MENU_SELECTED,
(wxObjectEventFunction)(&Menu::handle_event),
NULL,menu
);
//Also tried:
menu->Bind(wxEVT_COMMAND_MENU_SELECTED,&(Menu::handle_event),menu);