Check, Radio & 3State buttons send WM_CTLCOLORSTATIC instead of
WM_CTLCOLORBTN.

diff --git a/controls/button.c b/controls/button.c
index 7e92dae..90bafbb 100644
--- a/controls/button.c
+++ b/controls/button.c
@@ -803,9 +803,9 @@
 
     if ((hFont = get_button_font( hwnd ))) SelectObject( hDC, hFont );
 
-    hBrush = SendMessageW( GetParent(hwnd), WM_CTLCOLORBTN, hDC, (LPARAM)hwnd );
+    hBrush = SendMessageW( GetParent(hwnd), WM_CTLCOLORSTATIC, hDC, (LPARAM)hwnd );
     if (!hBrush) /* did the app forget to call defwindowproc ? */
-        hBrush = DefWindowProcW( GetParent(hwnd), WM_CTLCOLORBTN, hDC, (LPARAM)hwnd );
+        hBrush = DefWindowProcW( GetParent(hwnd), WM_CTLCOLORSTATIC, hDC, (LPARAM)hwnd );
 
     if (style & BS_LEFTTEXT) 
     {