檢視原始碼 wxScrollEvent (wx v2.4.3)
滾動事件包含來自獨立捲軸(請參閱 wxScrollBar
)和滑塊(請參閱 wxSlider
)的事件資訊。
請注意,滾動視窗會發送 wxScrollWinEvent
,它不是繼承自 wxCommandEvent
,而是直接繼承自 wxEvent
- 請勿混淆這兩種事件,並僅對類似捲軸的控制項使用下面提及的事件表格巨集。
EVT_SCROLL_THUMBRELEASE 和 EVT_SCROLL_CHANGED 之間的差異
EVT_SCROLL_THUMBRELEASE 事件僅在實際使用滑鼠拖曳 thumb 並放開時發出(此 EVT_SCROLL_THUMBRELEASE 事件之後也會跟著一個 EVT_SCROLL_CHANGED 事件)。
當使用鍵盤變更 thumb 位置,以及點擊 thumb 旁邊時,也會發生 EVT_SCROLL_CHANGED 事件(在所有這些情況下,EVT_SCROLL_THUMBRELEASE 事件不會發生)。
簡而言之,無論滾動/移動是如何開始的,EVT_SCROLL_CHANGED 事件會在滾動/移動完成時觸發。請參閱 page_samples_widgets(「Slider」頁面)以查看 EVT_SCROLL_THUMBRELEASE 和 EVT_SCROLL_CHANGED 之間的實際差異。
備註:請注意,除非指定捲軸控制項識別符,否則您需要使用 getOrientation/1
來測試捲軸方向,因為水平和垂直捲軸事件使用相同的事件處理程序進行處理。
請參閱
這個類別是衍生而來的,可以使用以下類別的功能:
wxWidgets 文件:wxScrollEvent
事件
使用 wxEvtHandler:connect/3
和 wxScrollEventType
來訂閱此類型的事件。
摘要
類型
-type wxScroll() :: #wxScroll{type :: wxScrollEvent:wxScrollEventType(), commandInt :: integer(), extraLong :: integer()}.
-type wxScrollEvent() :: wx:wx_object().
-type wxScrollEventType() ::
scroll_top | scroll_bottom | scroll_lineup | scroll_linedown | scroll_pageup |
scroll_pagedown | scroll_thumbtrack | scroll_thumbrelease | scroll_changed.
函式
-spec getOrientation(This) -> integer() when This :: wxScrollEvent().
根據捲軸的方向,傳回 wxHORIZONTAL 或 wxVERTICAL。
-spec getPosition(This) -> integer() when This :: wxScrollEvent().
傳回捲軸的位置。