在资源编辑里面 设置IDC_STATIC的属性,在externed_styles里面选中TransparentOK!

解决方案 »

  1.   

    活着重载画控件的消息。(点管理查看帖子才能看到代码的缩进)
    HBRUSH CXXXXFormView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
        switch (nCtlColor)
        {
            case CTLCOLOR_BTN://按钮?
            case CTLCOLOR_STATIC://我们所需要改画的静态
            {
                pDC->SetBkMode(TRANSPARENT);
            }
            case CTLCOLOR_DLG:
            {
                CBrush*    back_brush;
                COLORREF    color;
                color = (COLORREF) GetSysColor(COLOR_BTNFACE);
                back_brush = new CBrush(color);
                return (HBRUSH) (back_brush->m_hObject);
            }
        }
        return(CFormView::OnCtlColor(pDC, pWnd, nCtlColor));
    }
    ------------OK了,给分吧!
      

  2.   

    to 111222(哇哈哈哈哈~动感超人~娃哈哈哈哈)
    我的formview有bmp图象做背景,你的方法好像适用于刷子改变的背景色。
     
      

  3.   

    在 WM_EX_TRANSPARENT 消息里做什么? 
      

  4.   

    http://www.csdn.net/develop/article/9/9603.shtm
      

  5.   

    啊?我上面是个范例既然你的程序是BMP做背景,就别甭处理CTLCOLOR_DLG得了。        case CTLCOLOR_STATIC://这才识关键
            {
                pDC->SetBkMode(TRANSPARENT);
            }
      

  6.   

    恩,这样的话ModifyStyleEx(0,WS_EX_TRANSPARENT ,0);
      

  7.   

    有透明silder的列子吗?给我一个[email protected]