button: ownerdraw erase

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



        Huw Davies <huw@xxxxxxxxxxxxxxx>
        Ownerdraw buttons should erase themselves in WM_ERASEBKGND.
-- 
Huw Davies
huw@xxxxxxxxxxxxxxx
Index: controls/button.c
===================================================================
RCS file: /home/wine/wine/controls/button.c,v
retrieving revision 1.67
diff -u -r1.67 button.c
--- controls/button.c	10 Sep 2003 03:56:49 -0000	1.67
+++ controls/button.c	10 Nov 2003 14:58:54 -0000
@@ -205,6 +205,17 @@
         return 0;
 
     case WM_ERASEBKGND:
+        if (btn_type == BS_OWNERDRAW)
+        {
+            HDC hdc = (HDC)wParam;
+            RECT rc;
+            HBRUSH hBrush = (HBRUSH)SendMessageW(GetParent(hWnd), WM_CTLCOLORBTN, (WPARAM)hdc, (LPARAM)hWnd);
+            if (!hBrush) /* did the app forget to call defwindowproc ? */
+                hBrush = (HBRUSH)DefWindowProcW(GetParent(hWnd), WM_CTLCOLORBTN,
+                                                (WPARAM)hdc, (LPARAM)hWnd);
+            GetClientRect(hWnd, &rc);
+            FillRect(hdc, &rc, hBrush);
+        }
         return 1;
 
     case WM_PAINT:


[Index of Archives]     [Gimp for Windows]     [Red Hat]     [Samba]     [Yosemite Camping]     [Graphics Cards]     [Wine Home]

  Powered by Linux