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