Windows 使用XP主题时的皮肤对话框?
我一直在使用WM_CTLCOLORSTATIC、WM_CTLCOLORBTN消息对对话框进行蒙皮,如下所示:-Windows 使用XP主题时的皮肤对话框?,windows,skinning,comctl32,xp-theme,Windows,Skinning,Comctl32,Xp Theme,我一直在使用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; MapWi
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(仅限)最近更新为使用通用控件6和XP主题在我的对话框中显示,但控件上的所有文本都“消失”,因为它再次以默认黑色绘制
是否有其他方法控制xp主题下控件的文本颜色?或者我现在需要考虑ObjeDRAW:-(?< /P>)
(而且所有者抽取实际上不是一个选项——如果我拥有所有的控件,那么切换到通用控件6的动机就完全消失了)