# wxScrollEvent

###
Module

wxScrollEvent

###
Module Summary

Functions for wxScrollEvent class

###
Description

A scroll event holds information about events sent from stand-alone scrollbars (see wxScrollBar) and sliders (see wxSlider).

Note that scrolled windows send the wxScrollWinEvent which does not derive from wxCommandEvent, but from wxEvent directly - don't confuse these two kinds of events and use the event table macros mentioned below only for the scrollbar-like controls.

The difference between EVT_SCROLL_THUMBRELEASE and EVT_SCROLL_CHANGED

The EVT_SCROLL_THUMBRELEASE event is only emitted when actually dragging the thumb using the mouse and releasing it (This EVT_SCROLL_THUMBRELEASE event is also followed by an EVT_SCROLL_CHANGED event).

The EVT_SCROLL_CHANGED event also occurs when using the keyboard to change the thumb position, and when clicking next to the thumb (In all these cases the EVT_SCROLL_THUMBRELEASE event does not happen).

In short, the EVT_SCROLL_CHANGED event is triggered when scrolling/ moving has finished independently of the way it had started. Please see the page_samples_widgets ("Slider" page) to see the difference between EVT_SCROLL_THUMBRELEASE and EVT_SCROLL_CHANGED in action.

Remark: Note that unless specifying a scroll control identifier, you will need to test for scrollbar orientation with getOrientation/1, since horizontal and vertical scroll events are processed using the same event handler.

See: wxScrollBar, wxSlider, wxSpinButton, wxScrollWinEvent, Overview events

This class is derived (and can use functions) from: wxCommandEvent wxEvent

wxWidgets docs: wxScrollEvent

###
Events

Use wxEvtHandler:connect/3 with wxScrollEventType to subscribe to events of this type.

###
Data Types

####
wxScrollEvent() = wx:wx_object()

####
wxScroll() =
#wxScroll{type = wxScrollEvent:wxScrollEventType(),
commandInt = integer(),
extraLong = integer()}

####
wxScrollEventType() =
scroll_top | scroll_bottom | scroll_lineup | scroll_linedown |
scroll_pageup | scroll_pagedown | scroll_thumbtrack |
scroll_thumbrelease | scroll_changed

###
Exports

####
getOrientation(This) -> integer()

### Types

This = wxScrollEvent()

Returns wxHORIZONTAL or wxVERTICAL, depending on the orientation of the scrollbar.

####
getPosition(This) -> integer()

### Types

This = wxScrollEvent()

Returns the position of the scrollbar.