Visual c++ MFC中CStatic文本的意外边框

Visual c++ MFC中CStatic文本的意外边框,visual-c++,mfc,Visual C++,Mfc,下面是实际绘制文本的代码摘录,类MineCStatic源自CStatic,其成员m_textColor由客户端代码设置: SIZE si; if(::GetTextExtentPoint32(pDC->m_hDC, str, (int)str.GetLength(), &si)) { CSize size = si; pDC->SetTextColor( m_textColor ); pDC->Se

下面是实际绘制文本的代码摘录,类
MineCStatic
源自
CStatic
,其成员
m_textColor
由客户端代码设置:

    SIZE si;
    if(::GetTextExtentPoint32(pDC->m_hDC, str, (int)str.GetLength(), &si))
    {
        CSize size = si;
        pDC->SetTextColor( m_textColor );
        pDC->SetBkMode(TRANSPARENT);
        DWORD style = GetStyle();
        if(m_bDrawTransparent)
            style &= ~SS_OWNERDRAW;
        if(style & SS_CENTER )
            pDC->TextOut((rect.Width()-size.cx)/2,(rect.Height()-size.cy)/2,str,str.GetLength());
        else if(style & SS_RIGHT)
            pDC->TextOut(rect.Width()-size.cx,(rect.Height()-size.cy)/2,str,str.GetLength());
        else
            pDC->TextOut(0,0,str,str.GetLength());

    }
结果如下(默认为黑色):


绿色边缘的颜色在哪里?如何消除它。

可能是抗锯齿。请尝试将背景色设置为接近平均背景色,即使理论上您没有使用背景色。@Markransem实际上,当我将背景图像设置到控件时,背景色将消失,我想通过设置背景色也可以工作。另请参阅和。
    m_title_font = new CFont;
    createFontResult = 
        m_title_font->CreateFont(64*rate,0,0,0,FW_HEAVY,FALSE, FALSE, 
        FALSE,DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,
        CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH, "Arial");

        m_text.Create("0%",WS_EX_TRANSPARENT|SS_OWNERDRAW  ,rc,this,IDC_PATCH_CURRENTDATA);
        m_text.SetFont(m_title_font);  // MineCStatic instance