http://bugs.winehq.org/show_bug.cgi?id=10531
--- Comment #10 from Dmitry Timoshkov dmitry@codeweavers.com 2008-02-17 22:56:00 ---
So in my current implementation the button sends CDDS_PREPAINT after the frame was drawn, but before the label is drawn. If CDRF_SKIPDEFAULT is send in response, the label isn't drawn by the control.
There are 3 phases of painting: 1. non-client area (WM_NCPAINT) - caption, border 2. background (WM_ERASEBKGND) 3. client area (WM_PAINT)
You need to add a test case to dlls/user32/tests/msg.c to make sure that your patch is correct.