From f7b5561d60dafd04aa07dbe5db995366f2169625 Mon Sep 17 00:00:00 2001 From: Giannis Adamopoulos Date: Mon, 6 Mar 2017 21:57:10 +0000 Subject: [PATCH] [COMCTL32] -Buttons with the BS_PUSHLIKE style are drawn as if they were BS_PUSHBUTTON. Fixes the appearance of buttons in the advanced appearance dialog. svn path=/trunk/; revision=74120 --- reactos/dll/win32/comctl32/theme_button.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/reactos/dll/win32/comctl32/theme_button.c b/reactos/dll/win32/comctl32/theme_button.c index 4fd38d64adf..daeedc90066 100644 --- a/reactos/dll/win32/comctl32/theme_button.c +++ b/reactos/dll/win32/comctl32/theme_button.c @@ -335,13 +335,19 @@ BOOL BUTTON_PaintWithTheme(HTHEME theme, HWND hwnd, HDC hParamDC, LPARAM prfFlag { DWORD dwStyle; DWORD dwStyleEx; + DWORD type; UINT dtFlags; int state; ButtonState drawState; pfThemedPaint paint; dwStyle = GetWindowLongW(hwnd, GWL_STYLE); - paint = btnThemedPaintFunc[ dwStyle & BUTTON_TYPE ]; + type = dwStyle & BUTTON_TYPE; + + if (type != BS_PUSHBUTTON && type != BS_DEFPUSHBUTTON && (dwStyle & BS_PUSHLIKE)) + type = BS_PUSHBUTTON; + + paint = btnThemedPaintFunc[type]; if (!paint) return FALSE; @@ -361,7 +367,7 @@ BOOL BUTTON_PaintWithTheme(HTHEME theme, HWND hwnd, HDC hParamDC, LPARAM prfFlag } else drawState = STATE_DISABLED; - if (drawState == STATE_NORMAL && (dwStyle & BUTTON_TYPE) == BS_DEFPUSHBUTTON) + if (drawState == STATE_NORMAL && type == BS_DEFPUSHBUTTON) { drawState = STATE_DEFAULTED; }