+ virtual bool ScrollPages(int pages);
+
+ /**
+ Physically scrolls the pixels in the window and move child windows accordingly.
+
+ @param dx
+ Amount to scroll horizontally.
+ @param dy
+ Amount to scroll vertically.
+ @param rect
+ Rectangle to scroll, if it is @NULL, the whole window is
+ scrolled (this is always the case under wxGTK which doesn't support this
+ parameter)
+
+ @remarks Note that you can often use wxScrolled instead of using this
+ function directly.
+ */
+ virtual void ScrollWindow(int dx, int dy,
+ const wxRect* rect = NULL);
+
+ /**
+ Same as #ScrollLines (-1).
+ */
+ bool LineUp();
+
+ /**
+ Same as #ScrollLines (1).
+ */
+ bool LineDown();
+
+ /**
+ Same as #ScrollPages (-1).
+ */
+ bool PageUp();
+
+ /**
+ Same as #ScrollPages (1).
+ */
+ bool PageDown();
+
+ /**
+ Sets the position of one of the built-in scrollbars.
+
+ @param orientation
+ Determines the scrollbar whose position is to be set.
+ May be wxHORIZONTAL or wxVERTICAL.
+ @param pos
+ Position in scroll units.
+ @param refresh
+ @true to redraw the scrollbar, @false otherwise.
+
+ @remarks This function does not directly affect the contents of the
+ window: it is up to the application to take note of
+ scrollbar attributes and redraw contents accordingly.
+
+ @see SetScrollbar(), GetScrollPos(), GetScrollThumb(), wxScrollBar,
+ wxScrolled
+ */
+ virtual void SetScrollPos(int orientation, int pos,
+ bool refresh = true);
+
+ /**
+ Sets the scrollbar properties of a built-in scrollbar.
+
+ @param orientation
+ Determines the scrollbar whose page size is to be set.
+ May be wxHORIZONTAL or wxVERTICAL.
+ @param position
+ The position of the scrollbar in scroll units.
+ @param thumbSize
+ The size of the thumb, or visible portion of the scrollbar, in scroll units.
+ @param range
+ The maximum position of the scrollbar. Value of -1 can be used to
+ ask for the scrollbar to be shown but in the disabled state: this
+ can be used to avoid removing the scrollbar even when it is not
+ needed (currently this is only implemented in wxMSW port).
+ @param refresh
+ @true to redraw the scrollbar, @false otherwise.
+
+ @remarks
+ Let's say you wish to display 50 lines of text, using the same font.
+ The window is sized so that you can only see 16 lines at a time.
+ You would use:
+ @code
+ SetScrollbar(wxVERTICAL, 0, 16, 50);
+ @endcode
+ Note that with the window at this size, the thumb position can never
+ go above 50 minus 16, or 34. You can determine how many lines are
+ currently visible by dividing the current view size by the character
+ height in pixels.
+ When defining your own scrollbar behaviour, you will always need
+ to recalculate the scrollbar settings when the window size changes.
+ You could therefore put your scrollbar calculations and SetScrollbar
+ call into a function named AdjustScrollbars, which can be called
+ initially and also from your wxSizeEvent handler function.
+
+ @see @ref overview_scrolling, wxScrollBar, wxScrolled, wxScrollWinEvent
+ */
+ virtual void SetScrollbar(int orientation, int position,
+ int thumbSize, int range,
+ bool refresh = true);