【发布时间】:2013-01-23 18:48:28
【问题描述】:
我有一个 wxListCtrl,我想这样做,以便当用户右键单击某个项目时显示 contextmenu/popup。
如何使用 wxFormBuilder 或以编程方式执行此操作?
干杯。
【问题讨论】:
标签: c++ popup contextmenu wxwidgets listcontrol
我有一个 wxListCtrl,我想这样做,以便当用户右键单击某个项目时显示 contextmenu/popup。
如何使用 wxFormBuilder 或以编程方式执行此操作?
干杯。
【问题讨论】:
标签: c++ popup contextmenu wxwidgets listcontrol
您需要捕获wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK 或wxEVT_CONTEXT_MENU 类型的事件(更通用,感谢 vadz),然后弹出wxMenu。
可以在 wxListCtrl 示例中看到一个示例,该示例可以在wxdir\samples\listctrl 中找到。从示例修改的简短 sn-p 应该会给您正确的想法:
void MyListCtrl::OnRightClick(wxListEvent& event)
{
// Show popupmenu at position
wxMenu menu(wxT("Test"));
menu.Append(LIST_ABOUT, wxT("&About"));
PopupMenu(&menu, event.GetPoint());
}
【讨论】:
wxEVT_CONTEXT_MENU 以清楚起见,因为它适用于多种窗口,而不仅仅是wxListCtrl。
【讨论】: