Contents Up Previous Next


This class is used for context menu events, sent to give the application a chance to show a context (popup) menu.

Note that if GetPosition returns wxDefaultPosition, this means that the event originated from a keyboard context button event, and you should compute a suitable position yourself, for example by calling wxGetMousePosition.

When a keyboard context menu button is pressed on Windows, a right-click event with default position is sent first, and if this event is not processed, the context menu event is sent. So if you process mouse events and you find your context menu event handler is not being called, you could call wxEvent::Skip for mouse right-down events.

Derived from


Include files


Event table macros

To process a menu event, use these event handler macros to direct input to member functions that take a wxContextMenuEvent argument.

EVT_CONTEXT_MENU(func) A right click (or other context menu command depending on platform) has been detected.

See also

Command events,
Event handling overview




wxContextMenuEvent(WXTYPE id = 0, int id = 0, const wxPoint& pos=wxDefaultPosition)



wxPoint GetPosition() const

Returns the position in screen coordinates at which the menu should be shown. Use wxWindow::ScreenToClient to convert to client coordinates. You can also omit a position from wxWindow::PopupMenu in order to use the current mouse pointer position.

If the event originated from a keyboard event, the value returned from this function will be wxDefaultPosition.


void SetPosition(const wxPoint& point)

Sets the position at which the menu should be shown.