-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
아니요, 여기에 표시된 코드에서 아무 것도 잘못 보이지 않으므로 잘못된 것일 수 있습니다. 언제나 그렇듯이, [최소 샘플] (https://github.com/wxWidgets/wxWidgets/tree/v3.1.0/samples/minimal/minimal.cpp)과 같은 기존 wxWidgets 샘플에서 문제를 재현하려고하면, , 문제를 좁힐 수있다. XRC를 사용하거나 XRC를 사용하는 것과 관련이 있는지 여부는 적어도 알 수 있습니다. –