檢視原始碼 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_LEFT
、wxSL_TOP
、wxSL_RIGHT
和wxSL_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().
函式
-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.
銷毀物件
傳回行大小。
請參閱: setLineSize/2
取得滑桿的最大值。
參見
取得滑桿的最小值。
參見
傳回頁面大小。
請參閱: setPageSize/2
傳回控制柄長度。
僅適用於:wxmsw
請參閱: setThumbLength/2
取得目前的滑桿值。
參見
-spec new() -> wxSlider().
預設建構子。
-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
設定滑桿的行大小。
請參閱: getLineSize/1
設定滑桿的頁面大小。
請參閱: getPageSize/1
-spec setRange(This, MinValue, MaxValue) -> ok when This :: wxSlider(), MinValue :: integer(), MaxValue :: integer().
設定滑桿的最小值和最大值。
參見
設定滑桿控制柄的長度。
僅適用於:wxmsw
請參閱: getThumbLength/1
設定滑桿的位置。