使用XP主题时的皮肤对话框?

我一直在使用WM_CTLCOLORSTATIC,WM_CTLCOLORBTN消息来剥离对话框。

case WM_CTLCOLORSTATIC: case WM_CTLCOLORBTN: hdc = (HDC)wParam; hwndCtl = (HWND)lParam; SetTextColor(hdc,RGB(0xff,0xff,0xff)); SetBkMode(hdc,TRANSPARENT); pt.x = 0; pt.y = 0; MapWindowPoints(hwndCtl,_hwnd,&pt,1); x = -pt.x; y = -pt.y; SetBrushOrgEx(hdc,x,y,NULL); return (INT_PTR)_skinBrush; 

此代码将背景画笔绘制低对比度图像的文字颜色设置为白色的所有静态元素。

Ive(only)最近更新为在我的对话框中使用公共控件6和XP-Themeing外观,但是所有控件上的文本都被“消失”了,因为它再次以默认的黑色绘制。

有没有其他的方法来控制xp主题下的控件的文本颜色? 或者我现在需要考虑ownerdraw :-(?

(和所有者的绘制是不是一个选项 – 如果我拥有我所有的控件,首先切换到通用控件6的整个动机就会消失)。