]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/mouseevt.tex
SetTitle method (internal use only) changed to virtual OnSetTitle, added GetOpenedPag...
[wxWidgets.git] / docs / latex / wx / mouseevt.tex
index a116241989b1e575e3d880be774f5f0fc4ea76e6..0c112ef708e8ca0bebdcdc486b246558f1432c50 100644 (file)
@@ -7,6 +7,10 @@ See \helpref{wxWindow::OnMouseEvent}{wxwindowonmouseevent}.
 
 \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
@@ -81,13 +85,13 @@ TRUE if shift is pressed down.
 
 \membersection{wxMouseEvent::m\_x}
 
-\member{float}{m\_x}
+\member{long}{m\_x}
 
 X-coordinate of the event.
 
 \membersection{wxMouseEvent::m\_y}
 
-\member{float}{m\_y}
+\member{long}{m\_y}
 
 Y-coordinate of the event.
 
@@ -174,28 +178,45 @@ 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}
 
-\func{float}{GetX}{\void}
+\constfunc{long}{GetX}{\void}
 
-Returns X coordinate of the mouse event position.
+Returns X coordinate of the physical mouse event position.
 
 \membersection{wxMouseEvent::GetY}\label{wxmouseeventgety}
 
-\func{float}{GetY}{\void}
+\func{long}{GetY}{\void}
 
-Returns Y coordinate of the mouse event position.
+Returns Y coordinate of the physical mouse event position.
 
 \membersection{wxMouseEvent::IsButton}
 
-\func{bool}{IsButton}{\void}
+\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}
 
-\func{bool}{Leaving}{\void}
+\constfunc{bool}{Leaving}{\void}
 
 Returns TRUE if the mouse was leaving the window (MS Windows and Motif).
 
@@ -203,125 +224,102 @@ See also \helpref{wxMouseEvent::Entering}{wxmouseevententering}.
 
 \membersection{wxMouseEvent::LeftDClick}
 
-\func{bool}{LeftDClick}{\void}
+\constfunc{bool}{LeftDClick}{\void}
 
 Returns TRUE if the event was a left double click.
 
-\membersection{wxMouseEvent::LeftDown}
+\membersection{wxMouseEvent::LeftDown}\label{wxmouseeventleftdown}
 
-\func{bool}{LeftDown}{\void}
+\constfunc{bool}{LeftDown}{\void}
 
 Returns TRUE if the left mouse button changed to down.
 
 \membersection{wxMouseEvent::LeftIsDown}
 
-\func{bool}{LeftIsDown}{\void}
+\constfunc{bool}{LeftIsDown}{\void}
 
 Returns TRUE if the left mouse button is currently down, independent
 of the current event type.
 
+Please notice that it is {\bf not} the same as 
+\helpref{LeftDown}{wxmouseeventleftdown} which returns TRUE if the left mouse
+button was just pressed. Rather, it describes the state of the mouse button
+before the event happened.
+
+This event is usually used in the mouse event handlers which process "move
+mouse" messages to determine whether the user is (still) dragging the mouse.
+
 \membersection{wxMouseEvent::LeftUp}
 
-\func{bool}{LeftUp}{\void}
+\constfunc{bool}{LeftUp}{\void}
 
 Returns TRUE if the left mouse button changed to up.
 
 \membersection{wxMouseEvent::MetaDown}
 
-\func{bool}{MetaDown}{\void}
+\constfunc{bool}{MetaDown}{\void}
 
 Returns TRUE if the Meta key was down at the time of the event.
 
 \membersection{wxMouseEvent::MiddleDClick}
 
-\func{bool}{MiddleDClick}{\void}
+\constfunc{bool}{MiddleDClick}{\void}
 
 Returns TRUE if the event was a middle double click.
 
 \membersection{wxMouseEvent::MiddleDown}
 
-\func{bool}{MiddleDown}{\void}
+\constfunc{bool}{MiddleDown}{\void}
 
 Returns TRUE if the middle mouse button changed to down.
 
 \membersection{wxMouseEvent::MiddleIsDown}
 
-\func{bool}{MiddleIsDown}{\void}
+\constfunc{bool}{MiddleIsDown}{\void}
 
 Returns TRUE if the middle mouse button is currently down, independent
 of the current event type.
 
 \membersection{wxMouseEvent::MiddleUp}
 
-\func{bool}{MiddleUp}{\void}
+\constfunc{bool}{MiddleUp}{\void}
 
 Returns TRUE if the middle mouse button changed to up.
 
 \membersection{wxMouseEvent::Moving}
 
-\func{bool}{Moving}{\void}
+\constfunc{bool}{Moving}{\void}
 
 Returns TRUE if this was a motion event (no buttons depressed).
 
-\membersection{wxMouseEvent::Position}
-
-\func{void}{Position}{\param{float *}{x}, \param{float *}{y}}
-
-Sets *x and *y to the position at which the event occurred. If the
-window is a window, the position is converted to logical units
-(according to the current mapping mode) with scrolling taken into
-account. To get back to device units (for example to calculate where on the
-screen to place a dialog box associated with a window mouse event), use
-\rtfsp{\bf wxDC::LogicalToDeviceX} and {\bf wxDC::LogicalToDeviceY}.
-
-For example, the following code calculates screen pixel coordinates
-from the frame position, window view start (assuming the window is the only
-subwindow on the frame and therefore at the top left of it), and the
-logical event position. A menu is popped up at the position where the
-mouse click occurred. (Note that the application should also check that
-the dialog box will be visible on the screen, since the click could have
-occurred near the screen edge!)
-
-\begin{verbatim}
-  float event_x, event_y;
-  event.Position(&event_x, &event_y);
-  frame->GetPosition(&x, &y);
-  window->ViewStart(&x1, &y1);
-  int mouse_x = (int)(window->GetDC()->LogicalToDeviceX(event_x + x - x1);
-  int mouse_y = (int)(window->GetDC()->LogicalToDeviceY(event_y + y - y1);
-
-  char *choice = wxGetSingleChoice("Menu", "Pick a node action",
-                                 no_choices, choices, frame, mouse_x, mouse_y);
-\end{verbatim}
-
 \membersection{wxMouseEvent::RightDClick}
 
-\func{bool}{RightDClick}{\void}
+\constfunc{bool}{RightDClick}{\void}
 
 Returns TRUE if the event was a right double click.
 
 \membersection{wxMouseEvent::RightDown}
 
-\func{bool}{RightDown}{\void}
+\constfunc{bool}{RightDown}{\void}
 
 Returns TRUE if the right mouse button changed to down.
 
 \membersection{wxMouseEvent::RightIsDown}
 
-\func{bool}{RightIsDown}{\void}
+\constfunc{bool}{RightIsDown}{\void}
 
 Returns TRUE if the right mouse button is currently down, independent
 of the current event type.
 
 \membersection{wxMouseEvent::RightUp}
 
-\func{bool}{RightUp}{\void}
+\constfunc{bool}{RightUp}{\void}
 
 Returns TRUE if the right mouse button changed to up.
 
 \membersection{wxMouseEvent::ShiftDown}
 
-\func{bool}{ShiftDown}{\void}
+\constfunc{bool}{ShiftDown}{\void}
 
 Returns TRUE if the shift key was down at the time of the event.