wxWidgets ContextMenu/Popup

wxWidgets ContextMenu/Popup

本文关键字:Popup ContextMenu wxWidgets      更新时间:2023-10-16

我有一个wxListCtrl,我想让它在用户右键单击一个项目时显示一个上下文菜单/弹出窗口

如何使用wxFormBuilder或以编程方式执行此操作?

干杯。

您需要捕获类型为 wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICKwxEVT_CONTEXT_MENU 的事件(更一般,谢谢 vadz),然后弹出一个 wxMenu。

这方面的一个例子可以在 wxListCtrl 示例中看到,该示例可以在 wxdirsampleslistctrl 中找到。从示例修改的简短片段应该会给你正确的想法:

void MyListCtrl::OnRightClick(wxListEvent& event)
{
    // Show popupmenu at position
    wxMenu menu(wxT("Test"));
    menu.Append(LIST_ABOUT, wxT("&About"));
    PopupMenu(&menu, event.GetPoint());
}

看看 http://wiki.wxwidgets.org/WxMenu 中的例子