# wxScrollEvent Class Reference
[Events]

`#include <wx/event.h>`

Inheritance diagram for wxScrollEvent:
[legend]

## Detailed 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 widgets sample ("Slider" page) to see the difference between EVT_SCROLL_THUMBRELEASE and EVT_SCROLL_CHANGED in action.

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

## Events using this class

The following event handler macros redirect the events to member function handlers 'func' with prototypes like:

void handlerFuncName(wxScrollEvent& event)
Event macros:
You can use EVT_COMMAND_SCROLL... macros with window IDs for when intercepting scroll events from controls, or EVT_SCROLL... macros without window IDs for intercepting scroll events from the receiving window -- except for this, the macros behave exactly the same.

- EVT_SCROLL(func):
  Process all scroll events.
- EVT_SCROLL_TOP(func):
  Process `wxEVT_SCROLL_TOP` scroll-to-top events (minimum position).
- EVT_SCROLL_BOTTOM(func):
  Process `wxEVT_SCROLL_BOTTOM` scroll-to-bottom events (maximum position).
- EVT_SCROLL_LINEUP(func):
  Process `wxEVT_SCROLL_LINEUP` line up events.
- EVT_SCROLL_LINEDOWN(func):
  Process `wxEVT_SCROLL_LINEDOWN` line down events.
- EVT_SCROLL_PAGEUP(func):
  Process `wxEVT_SCROLL_PAGEUP` page up events.
- EVT_SCROLL_PAGEDOWN(func):
  Process `wxEVT_SCROLL_PAGEDOWN` page down events.
- EVT_SCROLL_THUMBTRACK(func):
  Process `wxEVT_SCROLL_THUMBTRACK` thumbtrack events (frequent events sent as the user drags the thumbtrack).
- EVT_SCROLL_THUMBRELEASE(func):
  Process `wxEVT_SCROLL_THUMBRELEASE` thumb release events.
- EVT_SCROLL_CHANGED(func):
  Process `wxEVT_SCROLL_CHANGED` end of scrolling events (MSW only).
- EVT_COMMAND_SCROLL(id, func):
  Process all scroll events.
- EVT_COMMAND_SCROLL_TOP(id, func):
  Process `wxEVT_SCROLL_TOP` scroll-to-top events (minimum position).
- EVT_COMMAND_SCROLL_BOTTOM(id, func):
  Process `wxEVT_SCROLL_BOTTOM` scroll-to-bottom events (maximum position).
- EVT_COMMAND_SCROLL_LINEUP(id, func):
  Process `wxEVT_SCROLL_LINEUP` line up events.
- EVT_COMMAND_SCROLL_LINEDOWN(id, func):
  Process `wxEVT_SCROLL_LINEDOWN` line down events.
- EVT_COMMAND_SCROLL_PAGEUP(id, func):
  Process `wxEVT_SCROLL_PAGEUP` page up events.
- EVT_COMMAND_SCROLL_PAGEDOWN(id, func):
  Process `wxEVT_SCROLL_PAGEDOWN` page down events.
- EVT_COMMAND_SCROLL_THUMBTRACK(id, func):
  Process `wxEVT_SCROLL_THUMBTRACK` thumbtrack events (frequent events sent as the user drags the thumbtrack).
- EVT_COMMAND_SCROLL_THUMBRELEASE(func):
  Process `wxEVT_SCROLL_THUMBRELEASE` thumb release events.
- EVT_COMMAND_SCROLL_CHANGED(func):
  Process `wxEVT_SCROLL_CHANGED` end of scrolling events (MSW only).

##

Library: wxCore

Category: Events

See also:
  wxScrollBar, wxSlider, wxSpinButton, wxScrollWinEvent, Events and Event Handling

## Public Member Functions
| wxScrollEvent (wxEventType commandType=wxEVT_NULL, int id=0, int pos=0, int orientation=0)
| Constructor.
int | GetOrientation () const
| Returns wxHORIZONTAL or wxVERTICAL, depending on the orientation of the scrollbar.
int | GetPosition () const
| Returns the position of the scrollbar.
void | SetOrientation (int orient)
void | SetPosition (int pos)

List of all members.

## Constructor & Destructor Documentation

wxScrollEvent::wxScrollEvent | ( | wxEventType | commandType = `wxEVT_NULL`,
|  | int | id = `0`,
|  | int | pos = `0`,
|  | int | orientation = `0` |
| ) |  |  |

Constructor.

## Member Function Documentation

int wxScrollEvent::GetOrientation | ( |  | ) | const

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

int wxScrollEvent::GetPosition | ( |  | ) | const

Returns the position of the scrollbar.

void wxScrollEvent::SetOrientation | ( | int | orient | ) |

void wxScrollEvent::SetPosition | ( | int | pos | ) |

|  | [ top ]