Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 使用XP主题时的皮肤对话框?_Windows_Skinning_Comctl32_Xp Theme - Fatal编程技术网

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

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

我一直在使用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(仅限)最近更新为使用通用控件6和XP主题在我的对话框中显示,但控件上的所有文本都“消失”,因为它再次以默认黑色绘制

是否有其他方法控制xp主题下控件的文本颜色?或者我现在需要考虑ObjeDRAW:-(?< /P>) (而且所有者抽取实际上不是一个选项——如果我拥有所有的控件,那么切换到通用控件6的动机就完全消失了)