wxWidgets ContextMenu / Popup

у меня есть wxListCtrl и я хотел бы сделать так, чтобы когда пользователь щелкнул правой кнопкой мыши на элемент, чтобы показать ContextMenu / всплывающее окно.

Как я могу сделать это с помощью wxFormBuilder или программно?

Приветствия.

0

Решение

Вам нужно поймать событие типа wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK или же wxEVT_CONTEXT_MENU (более общее спасибо vadz), а затем всплывающее окно wxMenu.

Пример этого можно увидеть в примере wxListCtrl, который можно найти в wxdir\samples\listctrl, Короткий фрагмент, измененный из примера, должен дать вам правильное представление:

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

Другие решения

Посмотрите на пример в http://wiki.wxwidgets.org/WxMenu

0