檢視原始碼 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().

設定滑桿的位置。