Reputation: 6203
I'm using a wxToolBar with an drop-down item:
g_toolBar1->AddTool(TOOLBAR_CMD_CONTROL_DROPDOWN,_("Control elements"),MainWin::getBitmap(gearsXPM,"gears"),wxNullBitmap,wxITEM_DROPDOWN);
custParent->Connect(TOOLBAR_CMD_CONTROL_DROPDOWN,wxEVT_COMMAND_TOOL_CLICKED,wxCommandEventHandler(DrawCanvasSwitcher::OnToolbar),NULL,g_drawCanvas);
.... // add items to controlMenu here
g_toolBar1->SetDropdownMenu(TOOLBAR_CMD_CONTROL_DROPDOWN,controlMenu);
The drop-down menu opens automatically when somebody left-clicks the arrow right beside the tool. But what event do I have to send to open the drop-down menu programmatically?
Thanks!
Upvotes: 1
Views: 178
Reputation: 5631
You can open any menu, also a drop down menu by calling PopupMenu:
bool wxWindow::PopupMenu (wxMenu* menu,
const wxPoint& pos = wxDefaultPosition);
So in your case it should be:
yourWxWindow->PopupMenu(controlMenu);
or when you are already in a class that inherits from wxWindow:
PopupMenu(controlMenu);
Upvotes: 1