查看源码 wxScrollEvent (wx v2.4.3)

滚动事件保存着来自独立的滚动条(参见wxScrollBar)和滑块(参见wxSlider)的事件信息。

请注意,滚动窗口发送的 wxScrollWinEvent 不是继承自 wxCommandEvent,而是直接继承自 wxEvent - 不要混淆这两种事件,并且只为类似滚动条的控件使用下面提到的事件表宏。

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 之间的实际区别。

备注:请注意,除非指定了滚动控件标识符,否则您需要使用 getOrientation/1 测试滚动条的方向,因为水平和垂直滚动事件是使用相同的事件处理程序处理的。

参见

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

wxWidgets 文档: wxScrollEvent

事件

使用 wxEvtHandler:connect/3wxScrollEventType 来订阅此类型的事件。

摘要

函数

返回 wxHORIZONTAL 或 wxVERTICAL,具体取决于滚动条的方向。

返回滚动条的位置。

类型

-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.

函数

链接到此函数

getOrientation(This)

查看源码
-spec getOrientation(This) -> integer() when This :: wxScrollEvent().

返回 wxHORIZONTAL 或 wxVERTICAL,具体取决于滚动条的方向。

-spec getPosition(This) -> integer() when This :: wxScrollEvent().

返回滚动条的位置。