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 and wxSL_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

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.

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

Link to this function

create(This, Parent, Id, Value, MinValue, MaxValue)

View Source
-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

-spec getLineSize(This) -> integer() when This :: wxSlider().

Returns the line size.

See: setLineSize/2

-spec getMax(This) -> integer() when This :: wxSlider().

Gets the maximum slider value.

See:

-spec getMin(This) -> integer() when This :: wxSlider().

Gets the minimum slider value.

See:

-spec getPageSize(This) -> integer() when This :: wxSlider().

Returns the page size.

See: setPageSize/2

-spec getThumbLength(This) -> integer() when This :: wxSlider().

Returns the thumb length.

Only for:wxmsw

See: setThumbLength/2

-spec getValue(This) -> integer() when This :: wxSlider().

Gets the current slider value.

See:

-spec new() -> wxSlider().

Default constructor.

Link to this function

new(Parent, Id, Value, MinValue, MaxValue)

View Source
-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

Link to this function

setLineSize(This, LineSize)

View Source
-spec setLineSize(This, LineSize) -> ok when This :: wxSlider(), LineSize :: integer().

Sets the line size for the slider.

See: getLineSize/1

Link to this function

setPageSize(This, PageSize)

View Source
-spec setPageSize(This, PageSize) -> ok when This :: wxSlider(), PageSize :: integer().

Sets the page size for the slider.

See: getPageSize/1

Link to this function

setRange(This, MinValue, MaxValue)

View Source
-spec setRange(This, MinValue, MaxValue) -> ok
                  when This :: wxSlider(), MinValue :: integer(), MaxValue :: integer().

Sets the minimum and maximum slider values.

See:

Link to this function

setThumbLength(This, Len)

View Source
-spec setThumbLength(This, Len) -> ok when This :: wxSlider(), Len :: integer().

Sets the slider thumb length.

Only for:wxmsw

See: getThumbLength/1

-spec setValue(This, Value) -> ok when This :: wxSlider(), Value :: integer().

Sets the slider position.