-1
私はDECLARE_EVENT_TABLE()を試していました& & Connect()、それは仕事ではありません。私のコードはthis.Howと同じように動作させるには?そう、継承されたwxMenuBarのMENU_SELECTEDイベントへの応答方法
//.h
class MainFrameMenuBar :public wxMenuBar
//...
private:
DECLARE_EVENT_TABLE();
};
/...
//.cpp
BEGIN_EVENT_TABLE(MainFrameMenuBar, wxMenuBar)
EVT_MENU(XRCID("ID_MENU_FIGURE"), MainFrameMenuBar::onMenuItemFigure)
END_EVENT_TABLE()
MainFrameMenuBar::MainFrameMenuBar(wxWindow* parent)
{
wxXmlResource::Get()->LoadMenuBar(parent,wxT("ID_MAIN_MENUBAR"));
//int id = XRCID("ID_MENU_FIGURE");
//Connect(id, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(MainFrameMenuBar::onMenuItemFigure), NULL, this);
}
void MainFrameMenuBar::onMenuItemFigure(wxCommandEvent& event)
{
printf("abc");
}
私はバージョン3.1.0を使用しています。他に何か間違っていますか? – youzhiwan
いいえ、私はここに示されたコードで何か間違っているとは思わないので、何が間違っているのか分かりません。いつものように、[minimal sample](https://github.com/wxWidgets/wxWidgets/tree/v3.1.0/samples/minimal/minimal.cpp)のような既存のwxWidgetsサンプルで問題を再現しようとすると、 、問題を絞り込むことができます。 XRCを使用しているのか、XRCを使用しているのかなどに関係があるかどうかは、少なくともわかります。 –