从formview继承了一个view,想改变其对应对话框中的静态文本控件的背景颜色,就是想把它设成透明的,因为我窗口的背景是一幅位图。
我通过重载OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 函数,用以下语句实现了部分功能,但是这样子在程序窗口弹出时是透明的,但是有个问题就是当我把这个程序界面最小化后再最大化其静态文本控件的背景颜色已经变化了,不再是通明的了。这是怎么回事呀?如何处理呢?我在网上找了好多资料,都只是介绍到这一步,恳请高手指教!!!!
switch (nCtlColor)         
{
case CTLCOLOR_STATIC: 
{
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,0,0)); //改变字体的颜色
return HBRUSH(GetStockObject(HOLLOW_BRUSH));
}
return hbr;

解决方案 »

  1.   

    return HBRUSH(GetStockObject(NULL_BRUSH));
      

  2.   

    kingcom_xu(刀是用来杀人的!) 感谢指教!!圣诞快乐!!!!!
    改成return HBRUSH(GetStockObject(NULL_BRUSH));还是不行呀????
      

  3.   

    sorry...但我试了一下没问题呀...
    无论是返回你的那种刷子还是NULL_BRUSH...
    不知你背景位图是怎么设的...
    我是在OnEraseBkgnd在画上去的...
      

  4.   

    我也是在OnEraseBkgnd在画上去的呀?可就是不行。