\section{\class{wxSashWindow}}\label{wxsashwindow} wxSashWindow allows any of its edges to have a sash which can be dragged to resize the window. The actual content window will be created by the application as a child of wxSashWindow. The window (or an ancestor) will be notified of a drag via a \helpref{wxSashEvent}{wxsashevent} notification. \wxheading{Derived from} \helpref{wxWindow}{wxwindow}\\ \helpref{wxEvtHandler}{wxevthandler}\\ \helpref{wxObject}{wxobject} \wxheading{Include files} \wxheading{Window styles} The following styles apply in addition to the normal wxWindow styles. \twocolwidtha{5cm}% \begin{twocollist}\itemsep=0pt \twocolitem{\windowstyle{wxSW\_3D}}{Draws a 3D effect sash and border.} \twocolitem{\windowstyle{wxSW\_3DSASH}}{Draws a 3D effect sash.} \twocolitem{\windowstyle{wxSW\_3DBORDER}}{Draws a 3D effect border.} \twocolitem{\windowstyle{wxSW\_BORDER}}{Draws a thin black border.} \end{twocollist} See also \helpref{window styles overview}{windowstyles}. \wxheading{Event handling} \twocolwidtha{7cm}% \begin{twocollist}\itemsep=0pt \twocolitem{{\bf EVT\_SASH\_DRAGGED(id, func)}}{Process a wxEVT\_SASH\_DRAGGED event, when the user has finished dragging a sash.} \twocolitem{{\bf EVT\_SASH\_DRAGGED\_RANGE(id1, id2, func)}}{Process a wxEVT\_SASH\_DRAGGED\_RANGE event, when the user has finished dragging a sash. The event handler is called when windows with ids in the given range have their sashes dragged.} \end{twocollist} \wxheading{Data types} {\small \begin{verbatim} enum wxSashEdgePosition { wxSASH_TOP = 0, wxSASH_RIGHT, wxSASH_BOTTOM, wxSASH_LEFT, wxSASH_NONE = 100 }; \end{verbatim} } \wxheading{See also} \helpref{wxSashEvent}{wxsashevent}, \helpref{wxSashLayoutWindow}{wxsashlayoutwindow}, \helpref{Event handling overview}{eventhandlingoverview} \latexignore{\rtfignore{\wxheading{Members}}} \membersection{wxSashWindow::wxSashWindow}\label{wxsashwindowctor} \func{}{wxSashWindow}{\void} Default constructor. \func{}{wxSashWindow}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxCLIP\_CHILDREN \pipe wxSW\_3D}, \param{const wxString\& }{name = "sashWindow"}} Constructs a sash window, which can be a child of a frame, dialog or any other non-control window. \wxheading{Parameters} \docparam{parent}{Pointer to a parent window.} \docparam{id}{Window identifier. If -1, will automatically create an identifier.} \docparam{pos}{Window position. wxDefaultPosition is (-1, -1) which indicates that wxSashWindows should generate a default position for the window. If using the wxSashWindow class directly, supply an actual position.} \docparam{size}{Window size. wxDefaultSize is (-1, -1) which indicates that wxSashWindows should generate a default size for the window.} \docparam{style}{Window style. For window styles, please see \helpref{wxSashWindow}{wxsashwindow}.} \docparam{name}{Window name.} \membersection{wxSashWindow::\destruct{wxSashWindow}}\label{wxsashwindowdtor} \func{}{\destruct{wxSashWindow}}{\void} Destructor. \membersection{wxSashWindow::GetSashVisible}\label{wxsashwindowgetsashvisible} \constfunc{bool}{GetSashVisible}{\param{wxSashEdgePosition }{edge}} Returns true if a sash is visible on the given edge, false otherwise. \wxheading{Parameters} \docparam{edge}{Edge. One of wxSASH\_TOP, wxSASH\_RIGHT, wxSASH\_BOTTOM, wxSASH\_LEFT.} \wxheading{See also} \helpref{wxSashWindow::SetSashVisible}{wxsashwindowsetsashvisible} \membersection{wxSashWindow::GetMaximumSizeX}\label{wxsashwindowgetmaximumsizex} \constfunc{int}{GetMaximumSizeX}{\void} Gets the maximum window size in the x direction. \membersection{wxSashWindow::GetMaximumSizeY}\label{wxsashwindowgetmaximumsizey} \constfunc{int}{GetMaximumSizeY}{\void} Gets the maximum window size in the y direction. \membersection{wxSashWindow::GetMinimumSizeX}\label{wxsashwindowgetminimumsizex} \func{int}{GetMinimumSizeX}{\void} Gets the minimum window size in the x direction. \membersection{wxSashWindow::GetMinimumSizeY}\label{wxsashwindowgetminimumsizey} \constfunc{int}{GetMinimumSizeY}{\void} Gets the minimum window size in the y direction. \membersection{wxSashWindow::HasBorder}\label{wxsashwindowhasborder} \constfunc{bool}{HasBorder}{\param{wxSashEdgePosition }{edge}} Returns true if the sash has a border, false otherwise. This function is obsolete since the sash border property is unused. \wxheading{Parameters} \docparam{edge}{Edge. One of wxSASH\_TOP, wxSASH\_RIGHT, wxSASH\_BOTTOM, wxSASH\_LEFT.} \wxheading{See also} \helpref{wxSashWindow::SetSashBorder}{wxsashwindowsetsashborder} \membersection{wxSashWindow::SetMaximumSizeX}\label{wxsashwindowsetmaximumsizex} \func{void}{SetMaximumSizeX}{\param{int}{ min}} Sets the maximum window size in the x direction. \membersection{wxSashWindow::SetMaximumSizeY}\label{wxsashwindowsetmaximumsizey} \func{void}{SetMaximumSizeY}{\param{int}{ min}} Sets the maximum window size in the y direction. \membersection{wxSashWindow::SetMinimumSizeX}\label{wxsashwindowsetminimumsizex} \func{void}{SetMinimumSizeX}{\param{int}{ min}} Sets the minimum window size in the x direction. \membersection{wxSashWindow::SetMinimumSizeY}\label{wxsashwindowsetminimumsizey} \func{void}{SetMinimumSizeY}{\param{int}{ min}} Sets the minimum window size in the y direction. \membersection{wxSashWindow::SetSashVisible}\label{wxsashwindowsetsashvisible} \func{void}{SetSashVisible}{\param{wxSashEdgePosition }{edge}, \param{bool}{ visible}} Call this function to make a sash visible or invisible on a particular edge. \wxheading{Parameters} \docparam{edge}{Edge to change. One of wxSASH\_TOP, wxSASH\_RIGHT, wxSASH\_BOTTOM, wxSASH\_LEFT.} \docparam{visible}{true to make the sash visible, false to make it invisible.} \wxheading{See also} \helpref{wxSashWindow::GetSashVisible}{wxsashwindowgetsashvisible} \membersection{wxSashWindow::SetSashBorder}\label{wxsashwindowsetsashborder} \func{void}{SetSashBorder}{\param{wxSashEdgePosition }{edge}, \param{bool}{ hasBorder}} Call this function to give the sash a border, or remove the border. This function is obsolete since the sash border property is unused. \wxheading{Parameters} \docparam{edge}{Edge to change. One of wxSASH\_TOP, wxSASH\_RIGHT, wxSASH\_BOTTOM, wxSASH\_LEFT.} \docparam{hasBorder}{true to give the sash a border visible, false to remove it.} \wxheading{See also} \helpref{wxSashWindow::HasBorder}{wxsashwindowhasborder}