В каком классе реализовано меню которое всплывает при щелчке правой кнопкой мыши?
(какое меню? щелкни по брозеру правой кнопкой мыши и увидишь!)
Сенкс )
Подскажите какой класс? Topic is solved
-
- Earned a small fee
- Posts: 20
- Joined: Mon Jul 25, 2011 4:06 pm
-
- Super wx Problem Solver
- Posts: 401
- Joined: Wed Sep 21, 2005 8:17 am
- Location: Rostov-on-Don, Southern Russia
Re: Подскажите какой класс?
Контекстное меню, на самом деле это обычное меню..... только позиционируется оно в месте клика правой кнопкой мышки.....
У меня был такой пример в одной программулине.....
У меня был такой пример в одной программулине.....
Code: Select all
/// В заголовочном файле mainframe.h объявляем:
enum
{
wxID_ADD_NEW_COL_LEFT = wxID_HIGHEST + 1,
wxID_ADD_NEW_COL_RIGHT,
wxID_ADD_NEW_ROW_TOP,
wxID_ADD_NEW_ROW_BOTTOM,
wxID_DEL_COL,
wxID_DEL_ROW,
wxID_SHOW_CELL_PROP
};
/// В файле главного окна mainframe.cpp две функции члены-класса
/// кликаем в гриде по заголовку..... и выскакивает контекстное меню.....
void MainFrame::LabelRightClick( wxGridEvent& event )
{
wxPoint point = event.GetPosition();
if(m_grid1->IsSelection())
{
ShowContextMenu(point);
}
}
/// Само меню....
void MainFrame::ShowContextMenu(const wxPoint& pos)
{
wxMenu menu;
menu.Append(wxID_ADD_NEW_COL_LEFT, _("Добавить колонку слева"));
menu.Append(wxID_ADD_NEW_COL_RIGHT, _("Добавить колонку справа"));
menu.Append(wxID_ADD_NEW_ROW_TOP, _("Добавить ряд сверху"));
menu.Append(wxID_ADD_NEW_ROW_BOTTOM, _("Добавить ряд снизу"));
menu.Append(wxID_DEL_COL, _("Удалить колонку"));
menu.Append(wxID_DEL_ROW, _("Удалить ряд"));
menu.AppendSeparator();
menu.Append(wxID_SHOW_CELL_PROP, _("Свойства ячейки"));
Connect(wxID_ADD_NEW_COL_LEFT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnMenuAddColClick ) );
Connect(wxID_ADD_NEW_COL_RIGHT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnMenuAddColClickRight ) );
Connect(wxID_ADD_NEW_ROW_TOP, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnMenuAddRowClick ) );
Connect(wxID_ADD_NEW_ROW_BOTTOM, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnMenuAddRowClickBottom ) );
Connect(wxID_DEL_COL, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnMenuDelColClick ) );
Connect(wxID_DEL_ROW, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnMenuDelRowClick ) );
Connect(wxID_SHOW_CELL_PROP, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrame::OnContextMenuCellProp ) );
PopupMenu(&menu, pos.x, pos.y);
}
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
-
- Earned a small fee
- Posts: 20
- Joined: Mon Jul 25, 2011 4:06 pm
Re: Подскажите какой класс?
PopupMenu(); - самое то что искал
Спасибо))
Спасибо))