# wxSashWindow Class Reference
[Miscellaneous Windows]

`#include <wx/sashwin.h>`

Inheritance diagram for wxSashWindow:
[legend]

## Detailed Description

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 wxSashEvent notification.

## Styles

This class supports the following styles:

- wxSW_3D:
  Draws a 3D effect sash and border.
- wxSW_3DSASH:
  Draws a 3D effect sash.
- wxSW_3DBORDER:
  Draws a 3D effect border.
- wxSW_BORDER:
  Draws a thin black border.

## Events emitted by this class

The following event handler macros redirect the events to member function handlers 'func' with prototypes like:

void handlerFuncName(wxSashEvent& event)
Event macros for events emitted by this class:

- EVT_SASH_DRAGGED(id, func):
  Process a `wxEVT_SASH_DRAGGED` event, when the user has finished dragging a sash.
- 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.

##

Library: wxAdvanced

Category: Miscellaneous Windows

See also:
  wxSashEvent, wxSashLayoutWindow, Events and Event Handling

## Public Member Functions
| wxSashWindow ()
| Default ctor.
| wxSashWindow (wxWindow *parent, wxWindowID id, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxCLIP_CHILDREN|wxSW_3D, const wxString &name="sashWindow")
| Constructs a sash window, which can be a child of a frame, dialog or any other non-control window.
virtual | ~wxSashWindow ()
| Destructor.
virtual int | GetMaximumSizeX () const
| Gets the maximum window size in the x direction.
virtual int | GetMaximumSizeY () const
| Gets the maximum window size in the y direction.
virtual int | GetMinimumSizeX () const
| Gets the minimum window size in the x direction.
virtual int | GetMinimumSizeY () const
| Gets the minimum window size in the y direction.
bool | GetSashVisible (wxSashEdgePosition edge) const
| Returns true if a sash is visible on the given edge, false otherwise.
bool | HasBorder (wxSashEdgePosition edge) const
| Returns true if the sash has a border, false otherwise.
virtual void | SetMaximumSizeX (int min)
| Sets the maximum window size in the x direction.
virtual void | SetMaximumSizeY (int min)
| Sets the maximum window size in the y direction.
virtual void | SetMinimumSizeX (int min)
| Sets the minimum window size in the x direction.
virtual void | SetMinimumSizeY (int min)
| Sets the minimum window size in the y direction.
void | SetSashBorder (wxSashEdgePosition edge, bool hasBorder)
| Call this function to give the sash a border, or remove the border.
void | SetSashVisible (wxSashEdgePosition edge, bool visible)
| Call this function to make a sash visible or invisible on a particular edge.

List of all members.

## Constructor & Destructor Documentation

wxSashWindow::wxSashWindow | ( |  | ) |

Default ctor.

wxSashWindow::wxSashWindow | ( | wxWindow * | parent,
|  | wxWindowID | id,
|  | const wxPoint & | pos = `wxDefaultPosition`,
|  | const wxSize & | size = `wxDefaultSize`,
|  | long | style = `wxCLIP_CHILDREN|wxSW_3D`,
|  | const wxString & | name = `"sashWindow"` |
| ) |  |  |

Constructs a sash window, which can be a child of a frame, dialog or any other non-control window.

Parameters:

  | parent | Pointer to a parent window.
  | id | Window identifier. If -1, will automatically create an identifier.
  | 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.
  | size | Window size. wxDefaultSize is (-1, -1) which indicates that wxSashWindows should generate a default size for the window.
  | style | Window style. For window styles, please see wxSashWindow.
  | name | Window name.

virtual wxSashWindow::~wxSashWindow | ( |  | ) | `[virtual]`

Destructor.

## Member Function Documentation

virtual int wxSashWindow::GetMaximumSizeX | ( |  | ) | const`[virtual]`

Gets the maximum window size in the x direction.

virtual int wxSashWindow::GetMaximumSizeY | ( |  | ) | const`[virtual]`

Gets the maximum window size in the y direction.

virtual int wxSashWindow::GetMinimumSizeX | ( |  | ) | const`[virtual]`

Gets the minimum window size in the x direction.

virtual int wxSashWindow::GetMinimumSizeY | ( |  | ) | const`[virtual]`

Gets the minimum window size in the y direction.

bool wxSashWindow::GetSashVisible | ( | wxSashEdgePosition | edge | ) | const

Returns true if a sash is visible on the given edge, false otherwise.

Parameters:

  | edge | Edge. One of wxSASH_TOP, wxSASH_RIGHT, wxSASH_BOTTOM, wxSASH_LEFT.

See also:
  SetSashVisible()

bool wxSashWindow::HasBorder | ( | wxSashEdgePosition | edge | ) | const

Returns true if the sash has a border, false otherwise.

This function is obsolete since the sash border property is unused.

Parameters:

  | edge | Edge. One of wxSASH_TOP, wxSASH_RIGHT, wxSASH_BOTTOM, wxSASH_LEFT.

See also:
  SetSashBorder()

virtual void wxSashWindow::SetMaximumSizeX | ( | int | min | ) | `[virtual]`

Sets the maximum window size in the x direction.

virtual void wxSashWindow::SetMaximumSizeY | ( | int | min | ) | `[virtual]`

Sets the maximum window size in the y direction.

virtual void wxSashWindow::SetMinimumSizeX | ( | int | min | ) | `[virtual]`

Sets the minimum window size in the x direction.

virtual void wxSashWindow::SetMinimumSizeY | ( | int | min | ) | `[virtual]`

Sets the minimum window size in the y direction.

void wxSashWindow::SetSashBorder | ( | wxSashEdgePosition | edge,
|  | 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.

Parameters:

  | edge | Edge to change. One of wxSASH_TOP, wxSASH_RIGHT, wxSASH_BOTTOM, wxSASH_LEFT.
  | hasBorder | true to give the sash a border visible, false to remove it.

void wxSashWindow::SetSashVisible | ( | wxSashEdgePosition | edge,
|  | bool | visible |
| ) |  |  |

Call this function to make a sash visible or invisible on a particular edge.

Parameters:

  | edge | Edge to change. One of wxSASH_TOP, wxSASH_RIGHT, wxSASH_BOTTOM, wxSASH_LEFT.
  | visible | true to make the sash visible, false to make it invisible.

See also:
  GetSashVisible()

|  | [ top ]