使用ATL开发的composite控件的背景色是怎么设置的啊?
我写了一个然后加载到自己的容器的时候,发现背景都是白色的,不是对话框默认的那种灰色,我加了一个backclr的属性,但是设置了也没有用。atl里面好象也没有wm_CTLCOLOR的消息处理方式。
只有什么ambientchange什么的,需要怎么设置的啊/

解决方案 »

  1.   

    composite没有ondraw
    不过我在onpaint里面试了一下
    BeginPaint( NULL );
    HDC hdc = GetDC();
    HBRUSH hbr =(HBRUSH) GetStockObject(BLACK_BRUSH);
    FillRect(hdc,&rc,hbr);
    ReleaseDC(hdc);
    EndPaint(NULL);
    这样好像可以,但是感觉有点不伦不类好像
    前两天试过一次composite控件,在创建的时候如果用createcontrol建出来就会有默认背景,如果是其他的什么方法建出来就是白背景(具体哪个函数忘记了,我的控件是需要动态创建显示在其他一个控件里面的),不知道这个是啥原因?
      

  2.   

    我有试了一下,如果在资源编辑器里面的dialog通过右键insert 一个 activex control 然后运行就是有正常的背景色的,但是如果我是程序里用CAxWindows create这个控件的背景就是白的
    为啥?