如何得到当前系统中定义的对话框颜色????因为如果更改了桌面主题,便会导致对话框的颜色也因此改变,所以我想得到当前的系统定义的对话框颜色。有些人说:
GetSysColor(COLOR_WINDOW);也有些人说:
GetSysColor(COLOR_3DFACE);
COLOR_BTNFACE但是我调用过了,根本不对,麻烦大家给我一个正确的方法。我写了一个for循环,从0~50,都没有发现当前系统定义对话框的颜色
GetSysColor( i )请问,到底如何??????????

解决方案 »

  1.   

    GetSysColor本来就与系统桌面主题有关,系统中定义
      

  2.   

    我测试过了,是对的 DWORD dwColor = GetSysColor(COLOR_BTNFACE);
    //DWORD dwColorEx = RGB(236,233,216); //default
    DWORD dwColorEx = RGB(224,223,227); //silver
    测试方法:调试得到dwColor 的值
    用paint拷屏后取象素值,得到dwColorEx 
    比较结果一致。windows xp(default和silver主题)
      

  3.   

    不好意思,我又测试了一下,结果发现是我搞错了。GetSysColor返回的是XBGR格式,我还以为是XRGB格式。
    使用了GetRValue,GetGValue,GetBValue转换后就对了。