From 793519c8bcd63a2c5daad045b8a259c3ca0b8a53 Mon Sep 17 00:00:00 2001 From: Giannis Adamopoulos Date: Sat, 5 Aug 2017 10:23:07 +0000 Subject: [PATCH] [COMCTL32] -BUTTON_PaintWithTheme: Draw checked pushlike buttons as pressed. svn path=/trunk/; revision=75488 --- reactos/dll/win32/comctl32/theme_button.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/reactos/dll/win32/comctl32/theme_button.c b/reactos/dll/win32/comctl32/theme_button.c index 5a2cf98633c..7a7c05523a9 100644 --- a/reactos/dll/win32/comctl32/theme_button.c +++ b/reactos/dll/win32/comctl32/theme_button.c @@ -471,12 +471,19 @@ static BOOL BUTTON_Paint(HTHEME theme, HWND hwnd, HDC hParamDC) if(IsWindowEnabled(hwnd)) { - if(state & BST_PUSHED) drawState = STATE_PRESSED; - else if(state & BST_HOT) drawState = STATE_HOT; - else if(state & BST_FOCUS) drawState = STATE_DEFAULTED; - else drawState = STATE_NORMAL; + if(state & BST_PUSHED) + drawState = STATE_PRESSED; + else if ((dwStyle & BS_PUSHLIKE) && (state & (BST_CHECKED|BST_INDETERMINATE))) + drawState = STATE_PRESSED; + else if(state & BST_HOT) + drawState = STATE_HOT; + else if(state & BST_FOCUS) + drawState = STATE_DEFAULTED; + else + drawState = STATE_NORMAL; } - else drawState = STATE_DISABLED; + else + drawState = STATE_DISABLED; #ifndef __REACTOS__ /* r73873 */ hDC = hParamDC ? hParamDC : BeginPaint(hwnd, &ps);