查看源代码 wxSlider (wx v2.4.3)

滑块是一种控件,它带有一个可以前后拖动的滑块手柄,用于改变值。

在 Windows 上,使用轨道条控件。

在 GTK+ 上,只有 2.16 及更高版本才支持刻度线。

滑块生成与 wxScrollBar 相同的事件,但实际上处理 wxSlider 更新的最便捷方法是处理滑块特定的 wxEVT_SLIDER 事件,该事件携带 wxCommandEvent,其中仅包含最新的滑块位置。

样式

此类支持以下样式

  • wxSL_HORIZONTAL: 水平显示滑块(这是默认值)。

  • wxSL_VERTICAL: 垂直显示滑块。

  • wxSL_AUTOTICKS: 显示刻度线(Windows、GTK+ 2.16 及更高版本)。

  • wxSL_MIN_MAX_LABELS: 显示最小值、最大值标签(自 wxWidgets 2.9.1 起新增)。

  • wxSL_VALUE_LABEL: 显示值标签(自 wxWidgets 2.9.1 起新增)。

  • wxSL_LABELS: 显示最小值、最大值和值标签(与 wxSL_VALUE_LABEL 和 wxSL_MIN_MAX_LABELS 一起使用)。

  • wxSL_LEFT: 在左侧显示刻度线,并强制滑块垂直(仅限 Windows 和 GTK+ 3)。

  • wxSL_RIGHT: 在右侧显示刻度线,并强制滑块垂直。

  • wxSL_TOP: 在顶部显示刻度线(仅限 Windows 和 GTK+ 3)。

  • wxSL_BOTTOM: 在底部显示刻度线(这是默认值)。

  • wxSL_BOTH: 在滑块两侧显示刻度线。仅限 Windows。

  • wxSL_SELRANGE: 显示高亮选定范围。仅限 Windows。

  • wxSL_INVERSE: 反转滑块上的最小值和最大值端点。与 wxSL_SELRANGE 不兼容。请注意,wxSL_LEFTwxSL_TOPwxSL_RIGHTwxSL_BOTTOM 指定滑块刻度线的位置,并且滑块标签(如果有)位于另一侧。因此,要在垂直滑块的左侧显示标签,必须使用 wxSL_RIGHT(或者根本不应指定这些样式中的任何一种,因为左侧和顶部分别是垂直和水平滑块的默认位置)。

EVT_SCROLL_THUMBRELEASE 和 EVT_SCROLL_CHANGED 之间的区别

只有在实际使用鼠标拖动滑块并释放时才会发出 EVT_SCROLL_THUMBRELEASE 事件(此 EVT_SCROLL_THUMBRELEASE 事件之后还会发生一个 EVT_SCROLL_CHANGED 事件)。

当使用键盘更改滑块位置,以及单击滑块旁边时,也会发生 EVT_SCROLL_CHANGED 事件(在所有这些情况下,不会发生 EVT_SCROLL_THUMBRELEASE 事件)。简而言之,EVT_SCROLL_CHANGED 事件会在滚动/移动完成后触发,而与其开始的方式无关。请参阅 page_samples_widgets (“滑块”页面),以查看 EVT_SCROLL_THUMBRELEASE 和 EVT_SCROLL_CHANGED 之间的区别。

请参阅

此类派生自以下类,并可以使用其函数:

wxWidgets 文档:wxSlider

事件

此类发出的事件类型

摘要

函数

用于两步滑块构造。

销毁对象

返回行大小。

获取滑块的最大值。

获取滑块的最小值。

返回页大小。

返回滑块手柄的长度。

获取当前滑块值。

默认构造函数。

构造函数,创建并显示滑块。

设置滑块的行大小。

设置滑块的页大小。

设置滑块的最小值和最大值。

设置滑块手柄的长度。

设置滑块位置。

类型

-type wxSlider() :: wx:wx_object().

函数

链接到此函数

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

查看源代码
-spec create(This, Parent, Id, Value, MinValue, MaxValue) -> boolean()
                when
                    This :: wxSlider(),
                    Parent :: wxWindow:wxWindow(),
                    Id :: integer(),
                    Value :: integer(),
                    MinValue :: integer(),
                    MaxValue :: integer().

等效于 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()}.

用于两步滑块构造。

有关更多详细信息,请参阅 new/6

-spec destroy(This :: wxSlider()) -> ok.

销毁对象

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

返回行大小。

请参阅:setLineSize/2

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

获取滑块的最大值。

请参阅

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

获取滑块的最小值。

请参阅

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

返回页大小。

请参阅:setPageSize/2

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

返回滑块手柄的长度。

仅适用于:wxmsw

请参阅:setThumbLength/2

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

获取当前滑块值。

请参阅

-spec new() -> wxSlider().

默认构造函数。

链接到此函数

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

查看源代码
-spec new(Parent, Id, Value, MinValue, MaxValue) -> wxSlider()
             when
                 Parent :: wxWindow:wxWindow(),
                 Id :: integer(),
                 Value :: integer(),
                 MinValue :: integer(),
                 MaxValue :: integer().

等效于 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()}.

构造函数,创建并显示滑块。

请参阅:create/7

链接到此函数

setLineSize(This, LineSize)

查看源代码
-spec setLineSize(This, LineSize) -> ok when This :: wxSlider(), LineSize :: integer().

设置滑块的行大小。

请参阅:getLineSize/1

链接到此函数

setPageSize(This, PageSize)

查看源代码
-spec setPageSize(This, PageSize) -> ok when This :: wxSlider(), PageSize :: integer().

设置滑块的页大小。

请参阅:getPageSize/1

链接到此函数

setRange(This, MinValue, MaxValue)

查看源代码
-spec setRange(This, MinValue, MaxValue) -> ok
                  when This :: wxSlider(), MinValue :: integer(), MaxValue :: integer().

设置滑块的最小值和最大值。

请参阅

链接到此函数

setThumbLength(This, Len)

查看源代码
-spec setThumbLength(This, Len) -> ok when This :: wxSlider(), Len :: integer().

设置滑块手柄的长度。

仅适用于:wxmsw

请参阅:getThumbLength/1

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

设置滑块位置。