implemented ScrollLines/Pages; fixed bug in Thaw()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11212 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -940,22 +940,30 @@ void wxWindowMSW::ScrollWindow(int dx, int dy, const wxRect *prect)
|
|||||||
::ScrollWindow(GetHwnd(), dx, dy, prect ? &rect : NULL, NULL);
|
::ScrollWindow(GetHwnd(), dx, dy, prect ? &rect : NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ScrollVertically(int kind, int count)
|
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)
|
void wxWindowMSW::ScrollLines(int lines)
|
||||||
{
|
{
|
||||||
bool down = lines > 0;
|
bool down = lines > 0;
|
||||||
|
|
||||||
ScrollVertically(down ? SB_LINEDOWN : SB_LINEUP, down ? lines : -lines);
|
ScrollVertically(GetHwnd(),
|
||||||
|
down ? SB_LINEDOWN : SB_LINEUP,
|
||||||
|
down ? lines : -lines);
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxWindowMSW::ScrollPages(int pages)
|
void wxWindowMSW::ScrollPages(int pages)
|
||||||
{
|
{
|
||||||
bool down = pages > 0;
|
bool down = pages > 0;
|
||||||
|
|
||||||
ScrollVertically(down ? SB_PAGEDOWN : SB_PAGEUP, down ? pages : -pages);
|
ScrollVertically(GetHwnd(),
|
||||||
|
down ? SB_PAGEDOWN : SB_PAGEUP,
|
||||||
|
down ? pages : -pages);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
@@ -1225,6 +1233,10 @@ void wxWindowMSW::Freeze()
|
|||||||
void wxWindowMSW::Thaw()
|
void wxWindowMSW::Thaw()
|
||||||
{
|
{
|
||||||
SendSetRedraw(GetHwnd(), TRUE);
|
SendSetRedraw(GetHwnd(), TRUE);
|
||||||
|
|
||||||
|
// we need to refresh everything or otherwise he invalidated area is not
|
||||||
|
// repainted
|
||||||
|
Refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxWindowMSW::Refresh(bool eraseBack, const wxRect *rect)
|
void wxWindowMSW::Refresh(bool eraseBack, const wxRect *rect)
|
||||||
|
Reference in New Issue
Block a user