A slider is a control with a handle which can be pulled back and forth to change the value.
On Windows, the track bar control is used.
Slider events are handled in the same way as a scrollbar.
Derived from
wxControl
wxWindow
wxEvtHandler
wxObject
Include files
<wx/slider.h>
Window styles
wxSL_HORIZONTAL | Displays the slider horizontally (this is the default). |
wxSL_VERTICAL | Displays the slider vertically. |
wxSL_AUTOTICKS | Displays tick marks. |
wxSL_LABELS | Displays minimum, maximum and value labels. |
wxSL_LEFT | Displays ticks on the left and forces the slider to be vertical. |
wxSL_RIGHT | Displays ticks on the right and forces the slider to be vertical. |
wxSL_TOP | Displays ticks on the top. |
wxSL_BOTTOM | Displays ticks on the bottom (this is the default). |
wxSL_SELRANGE | Allows the user to select a range on the slider. Windows only. |
wxSL_INVERSE | Inverses the mininum and maximum endpoints on the slider. Not compatible with wxSL_SELRANGE. |
See also window styles overview.
Event table macros
To process a scroll event, use these event handler macros to direct input to member functions that take a wxScrollEvent argument. You can use EVT_COMMAND_SCROLL... macros with window IDs for when intercepting scroll events from controls, or EVT_SCROLL... macros without window IDs for intercepting scroll events from the receiving window -- except for this, the macros behave exactly the same.
EVT_SCROLL(func) | Process all scroll events. |
EVT_SCROLL_TOP(func) | Process wxEVT_SCROLL_TOP scroll-to-top events (minimum position). |
EVT_SCROLL_BOTTOM(func) | Process wxEVT_SCROLL_TOP scroll-to-bottom events (maximum position). |
EVT_SCROLL_LINEUP(func) | Process wxEVT_SCROLL_LINEUP line up events. |
EVT_SCROLL_LINEDOWN(func) | Process wxEVT_SCROLL_LINEDOWN line down events. |
EVT_SCROLL_PAGEUP(func) | Process wxEVT_SCROLL_PAGEUP page up events. |
EVT_SCROLL_PAGEDOWN(func) | Process wxEVT_SCROLL_PAGEDOWN page down events. |
EVT_SCROLL_THUMBTRACK(func) | Process wxEVT_SCROLL_THUMBTRACK thumbtrack events (frequent events sent as the user drags the thumbtrack). |
EVT_SCROLL_THUMBRELEASE(func) | Process wxEVT_SCROLL_THUMBRELEASE thumb release events. |
EVT_SCROLL_CHANGED(func) | Process wxEVT_SCROLL_CHANGED end of scrolling events (MSW only). |
EVT_COMMAND_SCROLL(id, func) | Process all scroll events. |
EVT_COMMAND_SCROLL_TOP(id, func) | Process wxEVT_SCROLL_TOP scroll-to-top events (minimum position). |
EVT_COMMAND_SCROLL_BOTTOM(id, func) | Process wxEVT_SCROLL_TOP scroll-to-bottom events (maximum position). |
EVT_COMMAND_SCROLL_LINEUP(id, func) | Process wxEVT_SCROLL_LINEUP line up events. |
EVT_COMMAND_SCROLL_LINEDOWN(id, func) | Process wxEVT_SCROLL_LINEDOWN line down events. |
EVT_COMMAND_SCROLL_PAGEUP(id, func) | Process wxEVT_SCROLL_PAGEUP page up events. |
EVT_COMMAND_SCROLL_PAGEDOWN(id, func) | Process wxEVT_SCROLL_PAGEDOWN page down events. |
EVT_COMMAND_SCROLL_THUMBTRACK(id, func) | Process wxEVT_SCROLL_THUMBTRACK thumbtrack events (frequent events sent as the user drags the thumbtrack). |
EVT_COMMAND_SCROLL_THUMBRELEASE(func) | Process wxEVT_SCROLL_THUMBRELEASE thumb release events. |
EVT_COMMAND_SCROLL_CHANGED(func) | Process wxEVT_SCROLL_CHANGED end of scrolling events (MSW only). |
The difference between EVT_SCROLL_THUMBRELEASE and EVT_SCROLL_CHANGED
The EVT_SCROLL_THUMBRELEASE event is only emitted when actually dragging the thumb using the mouse and releasing it (This EVT_SCROLL_THUMBRELEASE event is also followed by an EVT_SCROLL_CHANGED event).
The EVT_SCROLL_CHANGED event also occurs when using the keyboard to change the thumb position, and when clicking next to the thumb (In all these cases the EVT_SCROLL_THUMBRELEASE event does not happen).
In short, the EVT_SCROLL_CHANGED event is triggered when scrolling/ moving has finished independently of the way it had started. Please see the widgets sample ("Slider" page) to see the difference between EVT_SCROLL_THUMBRELEASE and EVT_SCROLL_CHANGED in action.
See also
Event handling overview, wxScrollBar
Members
wxSlider::wxSlider
wxSlider::~wxSlider
wxSlider::ClearSel
wxSlider::ClearTicks
wxSlider::Create
wxSlider::GetLineSize
wxSlider::GetMax
wxSlider::GetMin
wxSlider::GetPageSize
wxSlider::GetSelEnd
wxSlider::GetSelStart
wxSlider::GetThumbLength
wxSlider::GetTickFreq
wxSlider::GetValue
wxSlider::SetLineSize
wxSlider::SetPageSize
wxSlider::SetRange
wxSlider::SetSelection
wxSlider::SetThumbLength
wxSlider::SetTick
wxSlider::SetTickFreq
wxSlider::SetValue
wxSlider()
Default slider.
wxSlider(wxWindow* parent, wxWindowID id, int value , int minValue, int maxValue, const wxPoint& point = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxSL_HORIZONTAL, const wxValidator& validator = wxDefaultValidator, const wxString& name = "slider")
Constructor, creating and showing a slider.
Parameters
parent
id
value
minValue
maxValue
size
style
validator
name
See also
void ~wxSlider()
Destructor, destroying the slider.
void ClearSel()
Clears the selection, for a slider with the wxSL_SELRANGE style.
Remarks
Windows 95 only.
void ClearTicks()
Clears the ticks.
Remarks
Windows 95 only.
bool Create(wxWindow* parent, wxWindowID id, int value , int minValue, int maxValue, const wxPoint& point = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxSL_HORIZONTAL, const wxValidator& validator = wxDefaultValidator, const wxString& name = "slider")
Used for two-step slider construction. See wxSlider::wxSlider for further details.
int GetLineSize() const
Returns the line size.
See also
int GetMax() const
Gets the maximum slider value.
See also
wxSlider::GetMin, wxSlider::SetRange
int GetMin() const
Gets the minimum slider value.
See also
wxSlider::GetMin, wxSlider::SetRange
int GetPageSize() const
Returns the page size.
See also
int GetSelEnd() const
Returns the selection end point.
Remarks
Windows 95 only.
See also
wxSlider::GetSelStart, wxSlider::SetSelection
int GetSelStart() const
Returns the selection start point.
Remarks
Windows 95 only.
See also
wxSlider::GetSelEnd, wxSlider::SetSelection
int GetThumbLength() const
Returns the thumb length.
Remarks
Windows 95 only.
See also
int GetTickFreq() const
Returns the tick frequency.
Remarks
Windows 95 only.
See also
int GetValue() const
Gets the current slider value.
See also
wxSlider::GetMin, wxSlider::GetMax, wxSlider::SetValue
void SetLineSize(int lineSize)
Sets the line size for the slider.
Parameters
lineSize
See also
void SetPageSize(int pageSize)
Sets the page size for the slider.
Parameters
pageSize
See also
void SetRange(int minValue, int maxValue)
Sets the minimum and maximum slider values.
See also
wxSlider::GetMin, wxSlider::GetMax
void SetSelection(int startPos, int endPos)
Sets the selection.
Parameters
startPos
endPos
Remarks
Windows 95 only.
See also
wxSlider::GetSelStart, wxSlider::GetSelEnd
void SetThumbLength(int len)
Sets the slider thumb length.
Parameters
len
Remarks
Windows 95 only.
See also
void SetTick(int tickPos)
Sets a tick position.
Parameters
tickPos
Remarks
Windows 95 only.
See also
void SetTickFreq(int n, int pos)
Sets the tick mark frequency and position.
Parameters
n
pos
Remarks
Windows 95 only.
See also
void SetValue(int value)
Sets the slider position.
Parameters
value
See also