我手头没有这本书,但是我想问你CTLCOLOR_DLG,CTLCOLOR_EDIT是不是资源的
ID如果是,那你换了当然不变色了。
(2)这段程序中虽然有多个return语句,但真正执行的你有没有看有几个?

解决方案 »

  1.   

    1)对话框背景也可以变的 if(nCtlColor==CTLCOLOR_DLG)
          {
                       ...//返回刷子句柄,以前我试过的   
           }
    2)这些刷子返回都是盖司其职的,各刷各的背景我看这本书的时候也碰到过这里的问题,而且我发现颜色好像只局限于3种
    后来我用 HBRUSH m_hdlg=::CreateSolidBrush(RGB(213,189,192));
    return m_hdlg;
    就可以改很多种颜色了,而且在头文件里也不用声明那么多刷子句柄
      

  2.   

    dodoo我在两台机子上试对话框都不变色,我想问你当时你用的vc是
    5.0 还是 6.0?我用的是6.0。
      

  3.   

    我把代码都给你了啊你整个都贴上去,把你原先的OnCtrlColor去掉
      

  4.   

    to dodoo
    你好,我也遇到这个问题,能把OnCtrlColor()的代码也发给我好吗?
    我的email是 [email protected]