comctl32/trackbar: Always use brush from WM_CTLCOLORSTATIC to fill background.
Fix the track bar of Mupen64-RR-Lua input window having black background. Mupen64-RR-Lua doesn't actually handle WM_ERASEBKGND even though it returns nonzero. And tests show that only WM_CTLCOLORSTATIC is sent when drawing themed trackbar background. Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
5c901a04b3
commit
179117a689
|
@ -883,7 +883,7 @@ static void test_themed_background(void)
|
|||
{WC_TABCONTROLA, 0, drawthemeparentbackground_seq, TRUE},
|
||||
{TOOLBARCLASSNAMEA, 0, empty_seq, TRUE},
|
||||
{TOOLTIPS_CLASSA, 0, empty_seq},
|
||||
{TRACKBAR_CLASSA, 0, wm_ctlcolorstatic_seq, TRUE},
|
||||
{TRACKBAR_CLASSA, 0, wm_ctlcolorstatic_seq},
|
||||
{WC_TREEVIEWA, 0, treeview_seq},
|
||||
{UPDOWN_CLASSA, 0, empty_seq},
|
||||
{WC_SCROLLBARA, 0, scrollbar_seq, TRUE},
|
||||
|
|
|
@ -899,6 +899,7 @@ TRACKBAR_Refresh (TRACKBAR_INFO *infoPtr, HDC hdcDst)
|
|||
HBITMAP hOldBmp = 0, hOffScreenBmp = 0;
|
||||
NMCUSTOMDRAW nmcd;
|
||||
int gcdrf, icdrf;
|
||||
HBRUSH brush;
|
||||
|
||||
if (infoPtr->flags & TB_THUMBCHANGED) {
|
||||
TRACKBAR_UpdateThumb (infoPtr);
|
||||
|
@ -943,14 +944,9 @@ TRACKBAR_Refresh (TRACKBAR_INFO *infoPtr, HDC hdcDst)
|
|||
/* Erase background */
|
||||
if (gcdrf == CDRF_DODEFAULT ||
|
||||
notify_customdraw(infoPtr, &nmcd, CDDS_PREERASE) != CDRF_SKIPDEFAULT) {
|
||||
if (GetWindowTheme (infoPtr->hwndSelf)) {
|
||||
DrawThemeParentBackground (infoPtr->hwndSelf, hdc, 0);
|
||||
}
|
||||
else {
|
||||
HBRUSH brush = (HBRUSH)SendMessageW(infoPtr->hwndNotify, WM_CTLCOLORSTATIC,
|
||||
(WPARAM)hdc, (LPARAM)infoPtr->hwndSelf);
|
||||
brush = (HBRUSH)SendMessageW(infoPtr->hwndNotify, WM_CTLCOLORSTATIC, (WPARAM)hdc,
|
||||
(LPARAM)infoPtr->hwndSelf);
|
||||
FillRect(hdc, &rcClient, brush ? brush : GetSysColorBrush(COLOR_BTNFACE));
|
||||
}
|
||||
if (gcdrf != CDRF_DODEFAULT)
|
||||
notify_customdraw(infoPtr, &nmcd, CDDS_POSTERASE);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue