如何使Text字的背景变成透明?

解决方案 »

  1.   

    处理消息WM_CTLCOLOREDITSetBkMode((HDC)wParam, TRANSPARENT); //文字的背景透明
      

  2.   

    在CFormView中如何得到它的WM_CTLCOLOREDIT消息?
      

  3.   

    响应WM_CTLCOLOR消息,如下所示:如果需要全部的control都透明:
    HBRUSH CYourDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
        pDC->SetBkMode(TRANSPARENT);
        return (HBRUSH)GetStockObject(NULL_BRUSH);
    }
    如果需要指定的control透明:
    HBRUSH CYourDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
        if(pWnd->GetDlgCtrlID() == ID_YOURCTRL) // ID_YOURCTRL是要透明的control的ID
        {
            pDC->SetBkMode(TRANSPARENT);
            return (HBRUSH)GetStockObject(NULL_BRUSH);
        }
        else
        {
            return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
        }
    }