【问题标题】:wxWidgets ContextMenu/PopupwxWidgets ContextMenu/Popup
【发布时间】:2013-01-23 18:48:28
【问题描述】:

我有一个 wxListCtrl,我想这样做,以便当用户右键单击某个项目时显示 contextmenu/popup

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

干杯。

【问题讨论】:

    标签: c++ popup contextmenu wxwidgets listcontrol


    【解决方案1】:

    您需要捕获wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICKwxEVT_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
    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-31
      • 2011-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多