+ -
当前位置:首页 → 问答吧 → Static Text超链接下划线重绘背景透明的问题!!!

Static Text超链接下划线重绘背景透明的问题!!!

时间:2011-12-05

来源:互联网

C/C++ code

void CXHyperLink::OnMouseMove(UINT nFlags, CPoint point) 
{
    if (!m_bOverControl)        // Cursor has just moved over control
    {
        m_bOverControl = TRUE;

        if (m_nUnderline == ulHover)
            SetFont(&m_UnderlineFont);    //  m_UnderlineFont
        Invalidate();

        SetTimer(m_nTimerID, 100, NULL);
    }
    CStatic::OnMouseMove(nFlags, point);
}

///////////////////////////////////////////////////////////////////////////////
// OnTimer
void CXHyperLink::OnTimer(UINT nIDEvent) 
{
    CPoint p(GetMessagePos());
    ScreenToClient(&p);

    CRect rect;
    GetClientRect(rect);
    if (!rect.PtInRect(p))
    {
        m_bOverControl = FALSE;
        KillTimer(m_nTimerID);

        if (m_nUnderline != ulAlways)
            SetFont(&m_StdFont);
        rect.bottom+=10;
        InvalidateRect(rect);
    }
    
    CStatic::OnTimer(nIDEvent);
}



C/C++ code

BOOL CXHyperLink::OnEraseBkgnd(CDC* pDC) 
{
    CRect rect;
    GetClientRect(rect);
    if (m_crBackground != (UINT)-1)
        pDC->FillSolidRect(rect, m_crBackground);
    else
        pDC->FillSolidRect(rect, RGB(255,255,255)); //::GetSysColor(COLOR_3DFACE)  

    return TRUE;
}

这段代码是将矩形区域填充为白色,我现在想要透明的效果!!!


作者: x858078   发布时间: 2011-12-05

C/C++ code

if (pWnd->GetDlgCtrlID() == //文本框)
    {
        pDC->SetBkMode(TRANSPARENT);
    }

作者: shen_wei   发布时间: 2011-12-05

OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)

WM_CTLCOLOR 消息

作者: shen_wei   发布时间: 2011-12-05

热门下载

更多