]> git.saurik.com Git - wxWidgets.git/commitdiff
added ScrollLines/Pages
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 29 Jul 2001 22:47:40 +0000 (22:47 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 29 Jul 2001 22:47:40 +0000 (22:47 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11210 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/msw/window.h
include/wx/window.h
src/msw/window.cpp

index 25abce27c77867a22b2b78682abe4f4fe317d6ed..6e654f53f1a6c45f9d7146509c029697849d65e4 100644 (file)
@@ -118,6 +118,9 @@ public:
     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
index 7c90cd042d91324712668c12e3ee1f2a4d423ddc..f1534578e3b01b425189a9f8a793844ece7f28b9 100644 (file)
@@ -663,6 +663,15 @@ public:
     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
     // ----------------------
 
index 1a196846f71e01ba98d72d19648514d2338ad4c0..4eeb73629551cfb90a9bea3903a10f67a9a2894e 100644 (file)
@@ -940,6 +940,24 @@ void wxWindowMSW::ScrollWindow(int dx, int dy, const wxRect *prect)
     ::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
 // ---------------------------------------------------------------------------