静态文本背景透明化,该如何解决

静态文本背景透明化
项目是个单文档类型,然后在视图view中通过create创建了一个静态文本,view的背景是一张图片,现在的需求是让这个静态文本背景透明,以显示文本所在背景色。我重载了OnCtlColor,在里面写了 pDC->GetBkMode(TRANSPARENT);但是那个文本还是没有透明,为什么呢?怎么处理才能让文本显示所在view的背景色呢?

------解决方案--------------------
pDC->GetBkMode ?
------解决方案--------------------
在静态文本的父窗口中增加WM_CTLCOLOR处理
C/C++ code

HBRUSH CMfcCVView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
    HBRUSH hbr = CView::OnCtlColor(pDC, pWnd, nCtlColor);
    
    // TODO: Change any attributes of the DC here
    if (nCtlColor == CTLCOLOR_STATIC && pWnd->GetDlgCtrlID() == 0x111)
    {
        pDC->SetBkMode(TRANSPARENT);
        return (HBRUSH)::GetStockObject(NULL_BRUSH);
    }
    // TODO: Return a different brush if the default is not desired
    return hbr;
}

------解决方案--------------------
探讨
在静态文本的父窗口中增加WM_CTLCOLOR处理

C/C++ code

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

// TODO: Change……

------解决方案--------------------
文本的话,用不着CStatic,您直接在图上DrawText好了。


------------------------------------