View Source wxSlider (wx v2.4.3)
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.
On GTK+, tick marks are only available for version 2.16 and later.
Slider generates the same events as wxScrollBar
but in practice the most convenient
way to process wxSlider
updates is by handling the slider-specific wxEVT_SLIDER
event which carries wxCommandEvent
containing just the latest slider position.
Styles
This class supports the following styles:
wxSL_HORIZONTAL: Displays the slider horizontally (this is the default).
wxSL_VERTICAL: Displays the slider vertically.
wxSL_AUTOTICKS: Displays tick marks (Windows, GTK+ 2.16 and later).
wxSL_MIN_MAX_LABELS: Displays minimum, maximum labels (new since wxWidgets 2.9.1).
wxSL_VALUE_LABEL: Displays value label (new since wxWidgets 2.9.1).
wxSL_LABELS: Displays minimum, maximum and value labels (same as wxSL_VALUE_LABEL and wxSL_MIN_MAX_LABELS together).
wxSL_LEFT: Displays ticks on the left and forces the slider to be vertical (Windows and GTK+ 3 only).
wxSL_RIGHT: Displays ticks on the right and forces the slider to be vertical.
wxSL_TOP: Displays ticks on the top (Windows and GTK+ 3 only).
wxSL_BOTTOM: Displays ticks on the bottom (this is the default).
wxSL_BOTH: Displays ticks on both sides of the slider. Windows only.
wxSL_SELRANGE: Displays a highlighted selection range. Windows only.
wxSL_INVERSE: Inverses the minimum and maximum endpoints on the slider. Not compatible with wxSL_SELRANGE. Notice that
wxSL_LEFT
,wxSL_TOP
,wxSL_RIGHT
andwxSL_BOTTOM
specify the position of the slider ticks and that the slider labels, if any, are positioned on the opposite side. So, to have a label on the left side of a vertical slider,wxSL_RIGHT
must be used (or none of these styles at all should be specified as left and top are default positions for the vertical and horizontal sliders respectively).
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 page_samples_widgets ("Slider" page) to see the difference between EVT_SCROLL_THUMBRELEASE and EVT_SCROLL_CHANGED in action.
See:
This class is derived, and can use functions, from:
wxWidgets docs: wxSlider
Events
Event types emitted from this class:
Summary
Functions
Equivalent to create(This, Parent, Id, Value, MinValue, MaxValue, [])
.
Used for two-step slider construction.
Destroys the object
Returns the line size.
Gets the maximum slider value.
Gets the minimum slider value.
Returns the page size.
Returns the thumb length.
Gets the current slider value.
Default constructor.
Equivalent to new(Parent, Id, Value, MinValue, MaxValue, [])
.
Constructor, creating and showing a slider.
Sets the line size for the slider.
Sets the page size for the slider.
Sets the minimum and maximum slider values.
Sets the slider thumb length.
Sets the slider position.
Types
-type wxSlider() :: wx:wx_object().
Functions
-spec create(This, Parent, Id, Value, MinValue, MaxValue) -> boolean() when This :: wxSlider(), Parent :: wxWindow:wxWindow(), Id :: integer(), Value :: integer(), MinValue :: integer(), MaxValue :: integer().
Equivalent to create(This, Parent, Id, Value, MinValue, MaxValue, [])
.
-spec create(This, Parent, Id, Value, MinValue, MaxValue, [Option]) -> boolean() when This :: wxSlider(), Parent :: wxWindow:wxWindow(), Id :: integer(), Value :: integer(), MinValue :: integer(), MaxValue :: integer(), Option :: {pos, {X :: integer(), Y :: integer()}} | {size, {W :: integer(), H :: integer()}} | {style, integer()} | {validator, wx:wx_object()}.
Used for two-step slider construction.
See new/6
for further details.
-spec destroy(This :: wxSlider()) -> ok.
Destroys the object
Returns the line size.
See: setLineSize/2
Gets the maximum slider value.
See:
Gets the minimum slider value.
See:
Returns the page size.
See: setPageSize/2
Returns the thumb length.
Only for:wxmsw
See: setThumbLength/2
Gets the current slider value.
See:
-spec new() -> wxSlider().
Default constructor.
-spec new(Parent, Id, Value, MinValue, MaxValue) -> wxSlider() when Parent :: wxWindow:wxWindow(), Id :: integer(), Value :: integer(), MinValue :: integer(), MaxValue :: integer().
Equivalent to new(Parent, Id, Value, MinValue, MaxValue, [])
.
-spec new(Parent, Id, Value, MinValue, MaxValue, [Option]) -> wxSlider() when Parent :: wxWindow:wxWindow(), Id :: integer(), Value :: integer(), MinValue :: integer(), MaxValue :: integer(), Option :: {pos, {X :: integer(), Y :: integer()}} | {size, {W :: integer(), H :: integer()}} | {style, integer()} | {validator, wx:wx_object()}.
Constructor, creating and showing a slider.
See: create/7
Sets the line size for the slider.
See: getLineSize/1
Sets the page size for the slider.
See: getPageSize/1
-spec setRange(This, MinValue, MaxValue) -> ok when This :: wxSlider(), MinValue :: integer(), MaxValue :: integer().
Sets the minimum and maximum slider values.
See:
Sets the slider thumb length.
Only for:wxmsw
See: getThumbLength/1
Sets the slider position.