- if ( rect )
- ::ScrollWindow(GetHwnd(), dx, dy, &rect2, NULL);
- else
- ::ScrollWindow(GetHwnd(), dx, dy, NULL, NULL);
+ ::ScrollWindow(GetHwnd(), dx, dy, prect ? &rect : NULL, NULL);
+}
+
+static void ScrollVertically(HWND hwnd, int kind, int count)
+{
+ for ( int n = 0; n < count; n++ )
+ {
+ ::SendMessage(hwnd, WM_VSCROLL, kind, 0);
+ }
+}
+
+void wxWindowMSW::ScrollLines(int lines)
+{
+ bool down = lines > 0;
+
+ ScrollVertically(GetHwnd(),
+ down ? SB_LINEDOWN : SB_LINEUP,
+ down ? lines : -lines);
+}
+
+void wxWindowMSW::ScrollPages(int pages)
+{
+ bool down = pages > 0;
+
+ ScrollVertically(GetHwnd(),
+ down ? SB_PAGEDOWN : SB_PAGEUP,
+ down ? pages : -pages);