]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/mouseevt.tex
Chnaged wxGLCanvas::SetSize() to DoSetSize()
[wxWidgets.git] / docs / latex / wx / mouseevt.tex
CommitLineData
a660d684
KB
1\section{\class{wxMouseEvent}}\label{wxmouseevent}
2
fe604ccd
JS
3This event class contains information about mouse events.
4See \helpref{wxWindow::OnMouseEvent}{wxwindowonmouseevent}.
a660d684
KB
5
6\wxheading{Derived from}
7
8\helpref{wxEvent}{wxevent}
9
954b8ae6
JS
10\wxheading{Include files}
11
12<wx/event.h>
13
a660d684
KB
14\wxheading{Event table macros}
15
16To process a mouse event, use these event handler macros to direct input to member
17functions that take a wxMouseEvent argument.
18
19\twocolwidtha{7cm}
20\begin{twocollist}\itemsep=0pt
21\twocolitem{{\bf EVT\_LEFT\_DOWN(func)}}{Process a wxEVT\_LEFT\_DOWN event.}
22\twocolitem{{\bf EVT\_LEFT\_UP(func)}}{Process a wxEVT\_LEFT\_UP event.}
23\twocolitem{{\bf EVT\_LEFT\_DCLICK(func)}}{Process a wxEVT\_LEFT\_DCLICK event.}
24\twocolitem{{\bf EVT\_MIDDLE\_DOWN(func)}}{Process a wxEVT\_MIDDLE\_DOWN event.}
25\twocolitem{{\bf EVT\_MIDDLE\_UP(func)}}{Process a wxEVT\_MIDDLE\_UP event.}
26\twocolitem{{\bf EVT\_MIDDLE\_DCLICK(func)}}{Process a wxEVT\_MIDDLE\_DCLICK event.}
27\twocolitem{{\bf EVT\_RIGHT\_DOWN(func)}}{Process a wxEVT\_RIGHT\_DOWN event.}
28\twocolitem{{\bf EVT\_RIGHT\_UP(func)}}{Process a wxEVT\_RIGHT\_UP event.}
29\twocolitem{{\bf EVT\_RIGHT\_DCLICK(func)}}{Process a wxEVT\_RIGHT\_DCLICK event.}
30\twocolitem{{\bf EVT\_MOTION(func)}}{Process a wxEVT\_MOTION event.}
31\twocolitem{{\bf EVT\_ENTER\_WINDOW(func)}}{Process a wxEVT\_ENTER\_WINDOW event.}
32\twocolitem{{\bf EVT\_LEAVE\_WINDOW(func)}}{Process a wxEVT\_LEAVE\_WINDOW event.}
5de76427 33\twocolitem{{\bf EVT\_MOUSE\_EVENTS(func)}}{Process all mouse events.}
a660d684
KB
34\end{twocollist}%
35
36\latexignore{\rtfignore{\wxheading{Members}}}
37
38\membersection{wxMouseEvent::m\_altDown}
39
40\member{bool}{m\_altDown}
41
42TRUE if the Alt key is pressed down.
43
44\membersection{wxMouseEvent::m\_controlDown}
45
46\member{bool}{m\_controlDown}
47
48TRUE if control key is pressed down.
49
50\membersection{wxMouseEvent::m\_leftDown}
51
52\member{bool}{m\_leftDown}
53
54TRUE if the left mouse button is currently pressed down.
55
56\membersection{wxMouseEvent::m\_middleDown}
57
58\member{bool}{m\_middleDown}
59
60TRUE if the middle mouse button is currently pressed down.
61
62\membersection{wxMouseEvent::m\_rightDown}
63
64\member{bool}{m\_rightDown}
65
66TRUE if the right mouse button is currently pressed down.
67
68\membersection{wxMouseEvent::m\_leftDown}
69
70\member{bool}{m\_leftDown}
71
72TRUE if the left mouse button is currently pressed down.
73
74\membersection{wxMouseEvent::m\_metaDown}
75
76\member{bool}{m\_metaDown}
77
78TRUE if the Meta key is pressed down.
79
80\membersection{wxMouseEvent::m\_shiftDown}
81
82\member{bool}{m\_shiftDown}
83
84TRUE if shift is pressed down.
85
86\membersection{wxMouseEvent::m\_x}
87
88\member{float}{m\_x}
89
90X-coordinate of the event.
91
92\membersection{wxMouseEvent::m\_y}
93
94\member{float}{m\_y}
95
96Y-coordinate of the event.
97
98\membersection{wxMouseEvent::wxMouseEvent}
99
100\func{}{wxMouseEvent}{\param{WXTYPE}{ mouseEventType = 0}, \param{int}{ id = 0}}
101
102Constructor. Valid event types are:
103
104\begin{itemize}
105\itemsep=0pt
106\item {\bf wxEVT\_ENTER\_WINDOW}
107\item {\bf wxEVT\_LEAVE\_WINDOW}
108\item {\bf wxEVT\_LEFT\_DOWN}
109\item {\bf wxEVT\_LEFT\_UP}
110\item {\bf wxEVT\_LEFT\_DCLICK}
111\item {\bf wxEVT\_MIDDLE\_DOWN}
112\item {\bf wxEVT\_MIDDLE\_UP}
113\item {\bf wxEVT\_MIDDLE\_DCLICK}
114\item {\bf wxEVT\_RIGHT\_DOWN}
115\item {\bf wxEVT\_RIGHT\_UP}
116\item {\bf wxEVT\_RIGHT\_DCLICK}
117\item {\bf wxEVT\_MOTION}
118\end{itemize}
119
120\membersection{wxMouseEvent::AltDown}
121
122\func{bool}{AltDown}{\void}
123
124Returns TRUE if the Alt key was down at the time of the event.
125
126\membersection{wxMouseEvent::Button}
127
128\func{bool}{Button}{\param{int}{ button}}
129
130Returns TRUE if the identified mouse button is changing state. Valid
131values of {\it button} are 1, 2 or 3 for left, middle and right
132buttons respectively.
133
134Not all mice have middle buttons so a portable application should avoid
135this one.
136
137\membersection{wxMouseEvent::ButtonDClick}\label{buttondclick}
138
139\func{bool}{ButtonDClick}{\param{int}{ but = -1}}
140
141If the argument is omitted, this returns TRUE if the event was a mouse
142double click event. Otherwise the argument specifies which double click event
143was generated (1, 2 or 3 for left, middle and right buttons respectively).
144
145\membersection{wxMouseEvent::ButtonDown}
146
147\func{bool}{ButtonDown}{\param{int}{ but = -1}}
148
149If the argument is omitted, this returns TRUE if the event was a mouse
150button down event. Otherwise the argument specifies which button-down event
151was generated (1, 2 or 3 for left, middle and right buttons respectively).
152
153\membersection{wxMouseEvent::ButtonUp}
154
155\func{bool}{ButtonUp}{\param{int}{ but = -1}}
156
157If the argument is omitted, this returns TRUE if the event was a mouse
158button up event. Otherwise the argument specifies which button-up event
159was generated (1, 2 or 3 for left, middle and right buttons respectively).
160
161\membersection{wxMouseEvent::ControlDown}
162
163\func{bool}{ControlDown}{\void}
164
165Returns TRUE if the control key was down at the time of the event.
166
167\membersection{wxMouseEvent::Dragging}
168
169\func{bool}{Dragging}{\void}
170
171Returns TRUE if this was a dragging event (motion while a button is depressed).
172
173\membersection{wxMouseEvent::Entering}\label{wxmouseevententering}
174
175\func{bool}{Entering}{\void}
176
fe604ccd 177Returns TRUE if the mouse was entering the window (MS Windows and Motif).
a660d684
KB
178
179See also \helpref{wxMouseEvent::Leaving}{wxmouseeventleaving}.
180
181\membersection{wxMouseEvent::GetX}\label{wxmouseeventgetx}
182
183\func{float}{GetX}{\void}
184
185Returns X coordinate of the mouse event position.
186
187\membersection{wxMouseEvent::GetY}\label{wxmouseeventgety}
188
189\func{float}{GetY}{\void}
190
191Returns Y coordinate of the mouse event position.
192
193\membersection{wxMouseEvent::IsButton}
194
195\func{bool}{IsButton}{\void}
196
197Returns TRUE if the event was a mouse button event (not necessarily a button down event -
198that may be tested using {\it ButtonDown}).
199
200\membersection{wxMouseEvent::Leaving}\label{wxmouseeventleaving}
201
202\func{bool}{Leaving}{\void}
203
fe604ccd 204Returns TRUE if the mouse was leaving the window (MS Windows and Motif).
a660d684
KB
205
206See also \helpref{wxMouseEvent::Entering}{wxmouseevententering}.
207
208\membersection{wxMouseEvent::LeftDClick}
209
210\func{bool}{LeftDClick}{\void}
211
212Returns TRUE if the event was a left double click.
213
214\membersection{wxMouseEvent::LeftDown}
215
216\func{bool}{LeftDown}{\void}
217
218Returns TRUE if the left mouse button changed to down.
219
220\membersection{wxMouseEvent::LeftIsDown}
221
222\func{bool}{LeftIsDown}{\void}
223
224Returns TRUE if the left mouse button is currently down, independent
225of the current event type.
226
227\membersection{wxMouseEvent::LeftUp}
228
229\func{bool}{LeftUp}{\void}
230
231Returns TRUE if the left mouse button changed to up.
232
233\membersection{wxMouseEvent::MetaDown}
234
235\func{bool}{MetaDown}{\void}
236
237Returns TRUE if the Meta key was down at the time of the event.
238
239\membersection{wxMouseEvent::MiddleDClick}
240
241\func{bool}{MiddleDClick}{\void}
242
243Returns TRUE if the event was a middle double click.
244
245\membersection{wxMouseEvent::MiddleDown}
246
247\func{bool}{MiddleDown}{\void}
248
249Returns TRUE if the middle mouse button changed to down.
250
251\membersection{wxMouseEvent::MiddleIsDown}
252
253\func{bool}{MiddleIsDown}{\void}
254
255Returns TRUE if the middle mouse button is currently down, independent
256of the current event type.
257
258\membersection{wxMouseEvent::MiddleUp}
259
260\func{bool}{MiddleUp}{\void}
261
262Returns TRUE if the middle mouse button changed to up.
263
264\membersection{wxMouseEvent::Moving}
265
266\func{bool}{Moving}{\void}
267
268Returns TRUE if this was a motion event (no buttons depressed).
269
270\membersection{wxMouseEvent::Position}
271
272\func{void}{Position}{\param{float *}{x}, \param{float *}{y}}
273
274Sets *x and *y to the position at which the event occurred. If the
fe604ccd 275window is a window, the position is converted to logical units
a660d684
KB
276(according to the current mapping mode) with scrolling taken into
277account. To get back to device units (for example to calculate where on the
fe604ccd 278screen to place a dialog box associated with a window mouse event), use
a660d684
KB
279\rtfsp{\bf wxDC::LogicalToDeviceX} and {\bf wxDC::LogicalToDeviceY}.
280
281For example, the following code calculates screen pixel coordinates
fe604ccd 282from the frame position, window view start (assuming the window is the only
a660d684
KB
283subwindow on the frame and therefore at the top left of it), and the
284logical event position. A menu is popped up at the position where the
285mouse click occurred. (Note that the application should also check that
286the dialog box will be visible on the screen, since the click could have
287occurred near the screen edge!)
288
289\begin{verbatim}
290 float event_x, event_y;
291 event.Position(&event_x, &event_y);
292 frame->GetPosition(&x, &y);
fe604ccd
JS
293 window->ViewStart(&x1, &y1);
294 int mouse_x = (int)(window->GetDC()->LogicalToDeviceX(event_x + x - x1);
295 int mouse_y = (int)(window->GetDC()->LogicalToDeviceY(event_y + y - y1);
a660d684
KB
296
297 char *choice = wxGetSingleChoice("Menu", "Pick a node action",
298 no_choices, choices, frame, mouse_x, mouse_y);
299\end{verbatim}
300
301\membersection{wxMouseEvent::RightDClick}
302
303\func{bool}{RightDClick}{\void}
304
305Returns TRUE if the event was a right double click.
306
307\membersection{wxMouseEvent::RightDown}
308
309\func{bool}{RightDown}{\void}
310
311Returns TRUE if the right mouse button changed to down.
312
313\membersection{wxMouseEvent::RightIsDown}
314
315\func{bool}{RightIsDown}{\void}
316
317Returns TRUE if the right mouse button is currently down, independent
318of the current event type.
319
320\membersection{wxMouseEvent::RightUp}
321
322\func{bool}{RightUp}{\void}
323
324Returns TRUE if the right mouse button changed to up.
325
a660d684
KB
326\membersection{wxMouseEvent::ShiftDown}
327
328\func{bool}{ShiftDown}{\void}
329
330Returns TRUE if the shift key was down at the time of the event.
331