]>
Commit | Line | Data |
---|---|---|
6fb26ea3 JS |
1 | \section{\class{wxSashEvent}}\label{wxsashevent} |
2 | ||
3 | A sash event is sent when the sash of a \helpref{wxSashWindow}{wxsashwindow} has been | |
4 | dragged by the user. | |
5 | ||
6 | \wxheading{Derived from} | |
7 | ||
8 | \helpref{wxCommandEvent}{wxcommandevent}\\ | |
9 | \helpref{wxEvent}{wxevent}\\ | |
10 | \helpref{wxObject}{wxobject} | |
11 | ||
12 | \wxheading{Event table macros} | |
13 | ||
14 | To process an activate event, use these event handler macros to direct input to a member | |
15 | function that takes a wxSashEvent argument. | |
16 | ||
17 | \twocolwidtha{7cm}% | |
18 | \begin{twocollist}\itemsep=0pt | |
19 | \twocolitem{{\bf EVT\_SASH\_DRAGGED(id, func)}}{Process a wxEVT\_SASH\_DRAGGED event, | |
20 | when the user has finished dragging a sash.} | |
21 | \twocolitem{{\bf EVT\_SASH\_DRAGGED\_RANGE(id1, id2, func)}}{Process a wxEVT\_SASH\_DRAGGED\_RANGE event, | |
22 | when the user has finished dragging a sash. The event handler is called when windows with ids in the | |
23 | given range have their sashes dragged.} | |
24 | \end{twocollist} | |
25 | ||
26 | \wxheading{Data structures} | |
27 | ||
28 | {\small | |
29 | \begin{verbatim} | |
30 | enum wxSashDragStatus | |
31 | { | |
32 | wxSASH_STATUS_OK, | |
33 | wxSASH_STATUS_OUT_OF_RANGE | |
34 | }; | |
35 | \end{verbatim} | |
36 | } | |
37 | ||
38 | \wxheading{Remarks} | |
39 | ||
40 | When a sash belonging to a sash window is dragged by the user, and then released, | |
41 | this event is sent to the window, where it may be processed by an event table | |
42 | entry in a derived class, a plug-in event handler or an ancestor class. | |
43 | ||
44 | Note that the wxSashWindow doesn't change the window's size itself. It relies on the application's | |
45 | event handler to do that. This is because the application may have to handle other consequences | |
46 | of the resize, or it may wish to veto it altogether. The event handler should | |
47 | look at the drag rectangle: see \helpref{wxSashEvent::GetDragRect}{wxsasheventgetdragrect} to see | |
48 | what the new size of the window would be if the resize were to be applied. It should | |
49 | also call \helpref{wxSashEvent::GetDragStatus}{wxsasheventgetdragstatus} to see whether the | |
50 | drag was OK or out of the current allowed range. | |
51 | ||
52 | \wxheading{See also} | |
53 | ||
6b037754 | 54 | \helpref{wxSashWindow}{wxsashwindow},\rtfsp |
6fb26ea3 JS |
55 | \helpref{Event handling overview}{eventhandlingoverview} |
56 | ||
57 | \latexignore{\rtfignore{\wxheading{Members}}} | |
58 | ||
59 | \membersection{wxSashEvent::wxSashEvent} | |
60 | ||
61 | \func{}{wxSashEvent}{\param{int }{id = 0}, \param{wxSashEdgePosition}{ edge = wxSASH\_NONE}} | |
62 | ||
63 | Constructor. | |
64 | ||
65 | \membersection{wxSashEvent::GetEdge}\label{wxsasheventgetedge} | |
66 | ||
67 | \constfunc{wxSashEdgePosition}{GetEdge}{\void} | |
68 | ||
69 | Returns the dragged edge. The return value is one of wxSASH\_TOP, wxSASH\_RIGHT, wxSASH\_BOTTOM, wxSASH\_LEFT. | |
70 | ||
71 | \membersection{wxSashEvent::GetDragRect}\label{wxsasheventgetdragrect} | |
72 | ||
73 | \constfunc{wxRect}{GetDragRect}{\void} | |
74 | ||
75 | Returns the rectangle representing the new size the window would be if the resize was applied. It is | |
76 | up to the application to set the window size if required. | |
77 | ||
78 | \membersection{wxSashEvent::GetDragStatus}\label{wxsasheventgetdragstatus} | |
79 | ||
80 | \constfunc{wxSashDragStatus}{GetDragStatus}{\void} | |
81 | ||
82 | Returns the status of the sash: one of wxSASH\_STATUS\_OK, wxSASH\_STATUS\_OUT\_OF\_RANGE. | |
83 | If the drag caused the notional bounding box of the window to flip over, for example, the drag will be out of rage. | |
84 | ||
85 |