wxSlider

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_ENDSCROLL(func) Process wxEVT_SCROLL_ENDSCROLL 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_ENDSCROLL(func) Process wxEVT_SCROLL_ENDSCROLL end of scrolling events (MSW only).

The difference between EVT_SCROLL_THUMBRELEASE and EVT_SCROLL_ENDSCROLL

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_ENDSCROLL event).

The EVT_SCROLL_ENDSCROLL 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_ENDSCROLL event is triggered when scrolling/ moving has finished. The only exception (unfortunately) is that changing the thumb position using the mousewheel does give a EVT_SCROLL_THUMBRELEASE event but NOT an EVT_SCROLL_ENDSCROLL event.

Please see the widgets sample ("Slider" page) to see the difference between EVT_SCROLL_THUMBRELEASE and EVT_SCROLL_ENDSCROLL in action.

See also

Event handling overview, wxScrollBar



wxSlider::wxSlider



wxSlider(void)

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
Parent window. Must not be NULL.

id
Window identifier. A value of -1 indicates a default value.

value
Initial position for the slider.

minValue
Minimum slider position.

maxValue
Maximum slider position.

size
Window size. If the default size (-1, -1) is specified then a default size is chosen.

style
Window style. See wxSlider.

validator
Window validator.

name
Window name.

See also

wxSlider::Create, wxValidator



wxSlider::~wxSlider



void ~wxSlider(void)

Destructor, destroying the slider.



wxSlider::ClearSel



void ClearSel(void)

Clears the selection, for a slider with the wxSL_SELRANGE style.

Remarks

Windows 95 only.



wxSlider::ClearTicks



void ClearTicks(void)

Clears the ticks.

Remarks

Windows 95 only.



wxSlider::Create



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.



wxSlider::GetLineSize

int GetLineSize(void) const

Returns the line size.

See also

wxSlider::SetLineSize



wxSlider::GetMax

int GetMax(void) const

Gets the maximum slider value.

See also

wxSlider::GetMin, wxSlider::SetRange



wxSlider::GetMin

int GetMin(void) const

Gets the minimum slider value.

See also

wxSlider::GetMin, wxSlider::SetRange



wxSlider::GetPageSize

int GetPageSize(void) const

Returns the page size.

See also

wxSlider::SetPageSize



wxSlider::GetSelEnd

int GetSelEnd(void) const

Returns the selection end point.

Remarks

Windows 95 only.

See also

wxSlider::GetSelStart, wxSlider::SetSelection



wxSlider::GetSelStart

int GetSelStart(void) const

Returns the selection start point.

Remarks

Windows 95 only.

See also

wxSlider::GetSelEnd, wxSlider::SetSelection



wxSlider::GetThumbLength

int GetThumbLength(void) const

Returns the thumb length.

Remarks

Windows 95 only.

See also

wxSlider::SetThumbLength



wxSlider::GetTickFreq

int GetTickFreq(void) const

Returns the tick frequency.

Remarks

Windows 95 only.

See also

wxSlider::SetTickFreq



wxSlider::GetValue

int GetValue(void) const

Gets the current slider value.

See also

wxSlider::GetMin, wxSlider::GetMax, wxSlider::SetValue



wxSlider::SetLineSize



void SetLineSize(int lineSize)

Sets the line size for the slider.

Parameters

lineSize
The number of steps the slider moves when the user moves it up or down a line.

See also

wxSlider::GetLineSize



wxSlider::SetPageSize



void SetPageSize(int pageSize)

Sets the page size for the slider.

Parameters

pageSize
The number of steps the slider moves when the user pages up or down.

See also

wxSlider::GetPageSize



wxSlider::SetRange



void SetRange(int minValue, int maxValue)

Sets the minimum and maximum slider values.

See also

wxSlider::GetMin, wxSlider::GetMax



wxSlider::SetSelection



void SetSelection(int startPos, int endPos)

Sets the selection.

Parameters

startPos
The selection start position.

endPos
The selection end position.

Remarks

Windows 95 only.

See also

wxSlider::GetSelStart, wxSlider::GetSelEnd



wxSlider::SetThumbLength



void SetThumbLength(int len)

Sets the slider thumb length.

Parameters

len
The thumb length.

Remarks

Windows 95 only.

See also

wxSlider::GetThumbLength



wxSlider::SetTick



void SetTick(int tickPos)

Sets a tick position.

Parameters

tickPos
The tick position.

Remarks

Windows 95 only.

See also

wxSlider::SetTickFreq



wxSlider::SetTickFreq



void SetTickFreq(int n, int pos)

Sets the tick mark frequency and position.

Parameters

n
Frequency. For example, if the frequency is set to two, a tick mark is displayed for every other increment in the slider's range.

pos
Position. Must be greater than zero. TODO: what is this for?

Remarks

Windows 95 only.

See also

wxSlider::GetTickFreq



wxSlider::SetValue



void SetValue(int value)

Sets the slider position.

Parameters

value
The slider position.

See also

wxSlider::GetValue

ymasuda 平成17年11月19日