virtual void ScrollWindow( int dx, int dy,
const wxRect* rect = (wxRect *) NULL );
+ virtual void ScrollLines(int lines);
+ virtual void ScrollPages(int pages);
+
#if wxUSE_DRAG_AND_DROP
virtual void SetDropTarget( wxDropTarget *dropTarget );
#endif // wxUSE_DRAG_AND_DROP
virtual void ScrollWindow( int dx, int dy,
const wxRect* rect = (wxRect *) NULL ) = 0;
+ // scrolls window by line/page: note that not all controls support this
+ virtual void ScrollLines(int WXUNUSED(lines)) { }
+ virtual void ScrollPages(int WXUNUSED(pages)) { }
+
+ void LineUp() { ScrollLines(-1); }
+ void LineDown() { ScrollLines(1); }
+ void PageUp() { ScrollPages(-1); }
+ void PageDown() { ScrollPages(1); }
+
// context-sensitive help
// ----------------------
::ScrollWindow(GetHwnd(), dx, dy, prect ? &rect : NULL, NULL);
}
+static void ScrollVertically(int kind, int count)
+{
+}
+
+void wxWindowMSW::ScrollLines(int lines)
+{
+ bool down = lines > 0;
+
+ ScrollVertically(down ? SB_LINEDOWN : SB_LINEUP, down ? lines : -lines);
+}
+
+void wxWindowMSW::ScrollPages(int pages)
+{
+ bool down = pages > 0;
+
+ ScrollVertically(down ? SB_PAGEDOWN : SB_PAGEUP, down ? pages : -pages);
+}
+
// ---------------------------------------------------------------------------
// subclassing
// ---------------------------------------------------------------------------