mirror of
https://github.com/narzoul/DDrawCompat
synced 2024-12-30 08:55:36 +01:00
Avoid forced invalidation of the scroll bar child control when scrolling
This was causing the scroll bar arrows to lose their pressed appearance.
This commit is contained in:
parent
d0fbd5cfd0
commit
3827007c0c
@ -19,6 +19,7 @@ namespace
|
|||||||
|
|
||||||
void disableDwmAttributes(HWND hwnd);
|
void disableDwmAttributes(HWND hwnd);
|
||||||
void onMenuSelect();
|
void onMenuSelect();
|
||||||
|
void onScroll(HWND hwnd, HWND scrollBar);
|
||||||
void onWindowPosChanged(HWND hwnd);
|
void onWindowPosChanged(HWND hwnd);
|
||||||
void removeDropShadow(HWND hwnd);
|
void removeDropShadow(HWND hwnd);
|
||||||
|
|
||||||
@ -45,7 +46,7 @@ namespace
|
|||||||
}
|
}
|
||||||
else if (WM_VSCROLL == ret->message || WM_HSCROLL == ret->message)
|
else if (WM_VSCROLL == ret->message || WM_HSCROLL == ret->message)
|
||||||
{
|
{
|
||||||
CompatGdiScrollFunctions::updateScrolledWindow(ret->hwnd);
|
onScroll(ret->hwnd, reinterpret_cast<HWND>(ret->lParam));
|
||||||
}
|
}
|
||||||
else if (WM_COMMAND == ret->message)
|
else if (WM_COMMAND == ret->message)
|
||||||
{
|
{
|
||||||
@ -146,6 +147,21 @@ namespace
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void onScroll(HWND hwnd, HWND scrollBar)
|
||||||
|
{
|
||||||
|
if (scrollBar)
|
||||||
|
{
|
||||||
|
UpdateWindow(scrollBar);
|
||||||
|
}
|
||||||
|
|
||||||
|
CompatGdiScrollFunctions::updateScrolledWindow(hwnd);
|
||||||
|
|
||||||
|
if (scrollBar)
|
||||||
|
{
|
||||||
|
ValidateRect(scrollBar, nullptr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void onWindowPosChanged(HWND hwnd)
|
void onWindowPosChanged(HWND hwnd)
|
||||||
{
|
{
|
||||||
CompatGdi::GdiScopedThreadLock lock;
|
CompatGdi::GdiScopedThreadLock lock;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user