wxWidgets: wxScrollEvent Class Reference

| Version: 3.2.6

Public Member Functions | List of all members
wxScrollEvent Class Reference
Class List by Category » 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. More...
int | GetOrientation () const
| Returns wxHORIZONTAL or wxVERTICAL, depending on the orientation of the scrollbar. More...
int | GetPosition () const
| Returns the position of the scrollbar. More...
void | SetOrientation (int orient)
void | SetPosition (int pos)
Public Member Functions inherited from wxCommandEvent
| wxCommandEvent (wxEventType commandEventType=wxEVT_NULL, int id=0)
| Constructor. More...
void * | GetClientData () const
| Returns client data pointer for a listbox or choice selection event (not valid for a deselection). More...
wxClientData * | GetClientObject () const
| Returns client object pointer for a listbox or choice selection event (not valid for a deselection). More...
long | GetExtraLong () const
| Returns extra information dependent on the event objects type. More...
int | GetInt () const
| Returns the integer identifier corresponding to a listbox, choice or radiobox selection (only if the event was a selection, not a deselection), or a boolean value representing the value of a checkbox. More...
int | GetSelection () const
| Returns item index for a listbox or choice selection event (not valid for a deselection). More...
wxString | GetString () const
| Returns item string for a listbox or choice selection event. More...
bool | IsChecked () const
| This method can be used with checkbox and menu events: for the checkboxes, the method returns true for a selection event and false for a deselection one. More...
bool | IsSelection () const
| For a listbox or similar event, returns true if it is a selection, false if it is a deselection. More...
void | SetClientData (void *clientData)
| Sets the client data for this event. More...
void | SetClientObject (wxClientData *clientObject)
| Sets the client object for this event. More...
void | SetExtraLong (long extraLong)
| Sets the m_extraLong member. More...
void | SetInt (int intCommand)
| Sets the m_commandInt member. More...
void | SetString (const wxString &string)
| Sets the m_commandString member. More...
Public Member Functions inherited from wxEvent
| wxEvent (int id=0, wxEventType eventType=wxEVT_NULL)
| Constructor. More...
virtual wxEvent * | Clone () const =0
| Returns a copy of the event. More...
wxObject * | GetEventObject () const
| Returns the object (usually a window) associated with the event, if any. More...
wxEventType | GetEventType () const
| Returns the identifier of the given event type, such as `wxEVT_BUTTON`. More...
virtual wxEventCategory | GetEventCategory () const
| Returns a generic category for this event. More...
int | GetId () const
| Returns the identifier associated with this event, such as a button command id. More...
wxObject * | GetEventUserData () const
| Return the user data associated with a dynamically connected event handler. More...
bool | GetSkipped () const
| Returns true if the event handler should be skipped, false otherwise. More...
long | GetTimestamp () const
| Gets the timestamp for the event. More...
bool | IsCommandEvent () const
| Returns true if the event is or is derived from wxCommandEvent else it returns false. More...
void | ResumePropagation (int propagationLevel)
| Sets the propagation level to the given value (for example returned from an earlier call to wxEvent::StopPropagation). More...
void | SetEventObject (wxObject *object)
| Sets the originating object. More...
void | SetEventType (wxEventType type)
| Sets the event type. More...
void | SetId (int id)
| Sets the identifier associated with this event, such as a button command id. More...
void | SetTimestamp (long timeStamp=0)
| Sets the timestamp for the event. More...
bool | ShouldPropagate () const
| Test if this event should be propagated or not, i.e. if the propagation level is currently greater than 0. More...
void | Skip (bool skip=true)
| This method can be used inside an event handler to control whether further event handlers bound to this event will be called after the current one returns. More...
int | StopPropagation ()
| Stop the event from propagating to its parent window. More...
Public Member Functions inherited from wxObject
| wxObject ()
| Default ctor; initializes to NULL the internal reference data. More...
| wxObject (const wxObject &other)
| Copy ctor. More...
virtual | ~wxObject ()
| Destructor. More...
virtual wxClassInfo * | GetClassInfo () const
| This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). More...
wxObjectRefData * | GetRefData () const
| Returns the wxObject::m_refData pointer, i.e. the data referenced by this object. More...
bool | IsKindOf (const wxClassInfo *info) const
| Determines whether this class is a subclass of (or the same class as) the given class. More...
bool | IsSameAs (const wxObject &obj) const
| Returns true if this object has the same data pointer as obj. More...
void | Ref (const wxObject &clone)
| Makes this object refer to the data in clone. More...
void | SetRefData (wxObjectRefData *data)
| Sets the wxObject::m_refData pointer. More...
void | UnRef ()
| Decrements the reference count in the associated data, and if it is zero, deletes the data. More...
void | UnShare ()
| This is the same of AllocExclusive() but this method is public. More...
void | operator delete (void *buf)
| The delete operator is defined for debugging versions of the library only, when the identifier `__WXDEBUG__` is defined. More...
void * | operator new (size_t size, const wxString &filename=NULL, int lineNum=0)
| The new operator is defined for debugging versions of the library only, when the identifier `__WXDEBUG__` is defined. More...

## Additional Inherited Members
Protected Member Functions inherited from wxObject
void | AllocExclusive ()
| Ensure that this object's data is not shared with any other object. More...
virtual wxObjectRefData * | CreateRefData () const
| Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More...
virtual wxObjectRefData * | CloneRefData (const wxObjectRefData *data) const
| Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data. More...
Protected Attributes inherited from wxEvent
int | m_propagationLevel
| Indicates how many levels the event can propagate. More...
Protected Attributes inherited from wxObject
wxObjectRefData * | m_refData
| Pointer to an object which is the object's reference-counted data. More...

## Constructor & Destructor Documentation

## ◆ wxScrollEvent()

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

Constructor.

## Member Function Documentation

## ◆ GetOrientation()

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

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

## ◆ GetPosition()

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

Returns the position of the scrollbar.

## ◆ SetOrientation()

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

## ◆ SetPosition()

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