wxMenu 连接事件
wxMenu connect events
wxMenuBar * menubar = m_frame->GetMenuBar();
wxMenu * menu = menubar->GetMenu(1);
wxInt32 menuId = menu->FindItem(wxT("MENU"));
wxMenuItem * menuItem = menu->FindItem(menuId);
wxMenu * steps = menuItem->GetSubMenu();
steps->Connect(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(Class::OnMENU), NULL, this);
这是代码,但是当我点击菜单时,没有触发 OnMENU。这样对吗?
AFAIK 命令事件,例如菜单事件,被发送到父 window,在本例中是 m_frame
。您需要在 m_frame
上调用 Connect()
,而不是在菜单(项目)上调用。
wxMenuBar * menubar = m_frame->GetMenuBar();
wxMenu * menu = menubar->GetMenu(1);
wxInt32 menuId = menu->FindItem(wxT("MENU"));
wxMenuItem * menuItem = menu->FindItem(menuId);
wxMenu * steps = menuItem->GetSubMenu();
steps->Connect(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(Class::OnMENU), NULL, this);
这是代码,但是当我点击菜单时,没有触发 OnMENU。这样对吗?
AFAIK 命令事件,例如菜单事件,被发送到父 window,在本例中是 m_frame
。您需要在 m_frame
上调用 Connect()
,而不是在菜单(项目)上调用。