\section{\class{wxMouseEvent}}\label{wxmouseevent}

This event class contains information about mouse events.
See \helpref{wxWindow::OnMouseEvent}{wxwindowonmouseevent}.

\wxheading{Derived from}

\helpref{wxEvent}{wxevent}

\wxheading{Include files}

<wx/event.h>

\wxheading{Event table macros}

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

\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_LEFT\_DOWN(func)}}{Process a wxEVT\_LEFT\_DOWN event.}
\twocolitem{{\bf EVT\_LEFT\_UP(func)}}{Process a wxEVT\_LEFT\_UP event.}
\twocolitem{{\bf EVT\_LEFT\_DCLICK(func)}}{Process a wxEVT\_LEFT\_DCLICK event.}
\twocolitem{{\bf EVT\_MIDDLE\_DOWN(func)}}{Process a wxEVT\_MIDDLE\_DOWN event.}
\twocolitem{{\bf EVT\_MIDDLE\_UP(func)}}{Process a wxEVT\_MIDDLE\_UP event.}
\twocolitem{{\bf EVT\_MIDDLE\_DCLICK(func)}}{Process a wxEVT\_MIDDLE\_DCLICK event.}
\twocolitem{{\bf EVT\_RIGHT\_DOWN(func)}}{Process a wxEVT\_RIGHT\_DOWN event.}
\twocolitem{{\bf EVT\_RIGHT\_UP(func)}}{Process a wxEVT\_RIGHT\_UP event.}
\twocolitem{{\bf EVT\_RIGHT\_DCLICK(func)}}{Process a wxEVT\_RIGHT\_DCLICK event.}
\twocolitem{{\bf EVT\_MOTION(func)}}{Process a wxEVT\_MOTION event.}
\twocolitem{{\bf EVT\_ENTER\_WINDOW(func)}}{Process a wxEVT\_ENTER\_WINDOW event.}
\twocolitem{{\bf EVT\_LEAVE\_WINDOW(func)}}{Process a wxEVT\_LEAVE\_WINDOW event.}
\twocolitem{{\bf EVT\_MOUSE\_EVENTS(func)}}{Process all mouse events.}
\end{twocollist}%

\latexignore{\rtfignore{\wxheading{Members}}}

\membersection{wxMouseEvent::m\_altDown}

\member{bool}{m\_altDown}

TRUE if the Alt key is pressed down.

\membersection{wxMouseEvent::m\_controlDown}

\member{bool}{m\_controlDown}

TRUE if control key is pressed down.

\membersection{wxMouseEvent::m\_leftDown}

\member{bool}{m\_leftDown}

TRUE if the left mouse button is currently pressed down.

\membersection{wxMouseEvent::m\_middleDown}

\member{bool}{m\_middleDown}

TRUE if the middle mouse button is currently pressed down.

\membersection{wxMouseEvent::m\_rightDown}

\member{bool}{m\_rightDown}

TRUE if the right mouse button is currently pressed down.

\membersection{wxMouseEvent::m\_leftDown}

\member{bool}{m\_leftDown}

TRUE if the left mouse button is currently pressed down.

\membersection{wxMouseEvent::m\_metaDown}

\member{bool}{m\_metaDown}

TRUE if the Meta key is pressed down.

\membersection{wxMouseEvent::m\_shiftDown}

\member{bool}{m\_shiftDown}

TRUE if shift is pressed down.

\membersection{wxMouseEvent::m\_x}

\member{long}{m\_x}

X-coordinate of the event.

\membersection{wxMouseEvent::m\_y}

\member{long}{m\_y}

Y-coordinate of the event.

\membersection{wxMouseEvent::wxMouseEvent}

\func{}{wxMouseEvent}{\param{WXTYPE}{ mouseEventType = 0}, \param{int}{ id = 0}}

Constructor. Valid event types are:

\begin{itemize}
\itemsep=0pt
\item {\bf wxEVT\_ENTER\_WINDOW}
\item {\bf wxEVT\_LEAVE\_WINDOW}
\item {\bf wxEVT\_LEFT\_DOWN}
\item {\bf wxEVT\_LEFT\_UP}
\item {\bf wxEVT\_LEFT\_DCLICK}
\item {\bf wxEVT\_MIDDLE\_DOWN}
\item {\bf wxEVT\_MIDDLE\_UP}
\item {\bf wxEVT\_MIDDLE\_DCLICK}
\item {\bf wxEVT\_RIGHT\_DOWN}
\item {\bf wxEVT\_RIGHT\_UP}
\item {\bf wxEVT\_RIGHT\_DCLICK}
\item {\bf wxEVT\_MOTION}
\end{itemize}

\membersection{wxMouseEvent::AltDown}

\func{bool}{AltDown}{\void}

Returns TRUE if the Alt key was down at the time of the event.

\membersection{wxMouseEvent::Button}

\func{bool}{Button}{\param{int}{ button}}

Returns TRUE if the identified mouse button is changing state. Valid
values of {\it button} are 1, 2 or 3 for left, middle and right
buttons respectively.

Not all mice have middle buttons so a portable application should avoid
this one.

\membersection{wxMouseEvent::ButtonDClick}\label{buttondclick}

\func{bool}{ButtonDClick}{\param{int}{ but = -1}}

If the argument is omitted, this returns TRUE if the event was a mouse
double click event. Otherwise the argument specifies which double click event
was generated (1, 2 or 3 for left, middle and right buttons respectively).

\membersection{wxMouseEvent::ButtonDown}

\func{bool}{ButtonDown}{\param{int}{ but = -1}}

If the argument is omitted, this returns TRUE if the event was a mouse
button down event. Otherwise the argument specifies which button-down event
was generated (1, 2 or 3 for left, middle and right buttons respectively).

\membersection{wxMouseEvent::ButtonUp}

\func{bool}{ButtonUp}{\param{int}{ but = -1}}

If the argument is omitted, this returns TRUE if the event was a mouse
button up event. Otherwise the argument specifies which button-up event
was generated (1, 2 or 3 for left, middle and right buttons respectively).

\membersection{wxMouseEvent::ControlDown}

\func{bool}{ControlDown}{\void}

Returns TRUE if the control key was down at the time of the event.

\membersection{wxMouseEvent::Dragging}

\func{bool}{Dragging}{\void}

Returns TRUE if this was a dragging event (motion while a button is depressed).

\membersection{wxMouseEvent::Entering}\label{wxmouseevententering}

\func{bool}{Entering}{\void}

Returns TRUE if the mouse was entering the window (MS Windows and Motif).

See also \helpref{wxMouseEvent::Leaving}{wxmouseeventleaving}.

\membersection{wxMouseEvent::GetPosition}\label{wxmouseeventgetposition}

\constfunc{wxPoint}{GetPosition}{\void}

\constfunc{void}{GetPosition}{\param{long *}{x}, \param{long *}{y}}

Sets *x and *y to the position at which the event occurred.

Returns the physical mouse position in pixels.

\membersection{wxMouseEvent::GetLogicalPosition}\label{wxmouseeventgetlogicalposition}

\constfunc{wxPoint}{GetLogicalPosition}{\param{const wxDC\&}{ dc}}

Returns the logical mouse position in pixels (i.e. translated according to the
translation set for the DC, which usually indicates that the window has been scrolled).

\membersection{wxMouseEvent::GetX}\label{wxmouseeventgetx}

\constfunc{long}{GetX}{\void}

Returns X coordinate of the physical mouse event position.

\membersection{wxMouseEvent::GetY}\label{wxmouseeventgety}

\func{long}{GetY}{\void}

Returns Y coordinate of the physical mouse event position.

\membersection{wxMouseEvent::IsButton}

\constfunc{bool}{IsButton}{\void}

Returns TRUE if the event was a mouse button event (not necessarily a button down event -
that may be tested using {\it ButtonDown}).

\membersection{wxMouseEvent::Leaving}\label{wxmouseeventleaving}

\constfunc{bool}{Leaving}{\void}

Returns TRUE if the mouse was leaving the window (MS Windows and Motif).

See also \helpref{wxMouseEvent::Entering}{wxmouseevententering}.

\membersection{wxMouseEvent::LeftDClick}

\constfunc{bool}{LeftDClick}{\void}

Returns TRUE if the event was a left double click.

\membersection{wxMouseEvent::LeftDown}

\constfunc{bool}{LeftDown}{\void}

Returns TRUE if the left mouse button changed to down.

\membersection{wxMouseEvent::LeftIsDown}

\constfunc{bool}{LeftIsDown}{\void}

Returns TRUE if the left mouse button is currently down, independent
of the current event type.

\membersection{wxMouseEvent::LeftUp}

\constfunc{bool}{LeftUp}{\void}

Returns TRUE if the left mouse button changed to up.

\membersection{wxMouseEvent::MetaDown}

\constfunc{bool}{MetaDown}{\void}

Returns TRUE if the Meta key was down at the time of the event.

\membersection{wxMouseEvent::MiddleDClick}

\constfunc{bool}{MiddleDClick}{\void}

Returns TRUE if the event was a middle double click.

\membersection{wxMouseEvent::MiddleDown}

\constfunc{bool}{MiddleDown}{\void}

Returns TRUE if the middle mouse button changed to down.

\membersection{wxMouseEvent::MiddleIsDown}

\constfunc{bool}{MiddleIsDown}{\void}

Returns TRUE if the middle mouse button is currently down, independent
of the current event type.

\membersection{wxMouseEvent::MiddleUp}

\constfunc{bool}{MiddleUp}{\void}

Returns TRUE if the middle mouse button changed to up.

\membersection{wxMouseEvent::Moving}

\constfunc{bool}{Moving}{\void}

Returns TRUE if this was a motion event (no buttons depressed).

\membersection{wxMouseEvent::RightDClick}

\constfunc{bool}{RightDClick}{\void}

Returns TRUE if the event was a right double click.

\membersection{wxMouseEvent::RightDown}

\constfunc{bool}{RightDown}{\void}

Returns TRUE if the right mouse button changed to down.

\membersection{wxMouseEvent::RightIsDown}

\constfunc{bool}{RightIsDown}{\void}

Returns TRUE if the right mouse button is currently down, independent
of the current event type.

\membersection{wxMouseEvent::RightUp}

\constfunc{bool}{RightUp}{\void}

Returns TRUE if the right mouse button changed to up.

\membersection{wxMouseEvent::ShiftDown}

\constfunc{bool}{ShiftDown}{\void}

Returns TRUE if the shift key was down at the time of the event.

