我是一名VC的新手,请问能否使VC的statictext控件变为透明效果,请高手们给出全部的代码,谢谢!

解决方案 »

  1.   

    HBRUSH Cxxx::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
    HBRUSH hbr = CxxxBase::OnCtlColor(pDC, pWnd, nCtlColor);

    // TODO: Change any attributes of the DC here
    pDC->SetBkMode(TRANSPARENT);
    switch(nCtlColor)
    {
    case CTLCOLOR_STATIC:
    // 使用空心刷子
    hbr = static_cast<HBRUSH>(m_cBrHollow);
    break;
    default:
    break;
    } return hbr;
    }// 空心刷子的创建:
    VERIFY(m_cBrHollow.CreateStockObject(HOLLOW_BRUSH));//m_cBrHollow为CBrush的一个对象
      

  2.   

    响应这个消息WM_CTRLCOLOR
    OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
    对应的statictext控件的nCtlColor的参数为CTLCOLOR_STATIC然后自已定义刷子的类型,如楼上说的那样就可以