各位,我用CEdit显示文本,希望做到这样的效果:鼠标滑过加下划线,鼠标离开后把下划线取消。
但是目前的问题是,我加入下划线后,下划线就取消不了了。
代码如下,请各位高手明示,谢谢啦!!!!!!!!void CHyperLinkEdit::OnMouseMove(UINT nFlags, CPoint point) 
{
// TODO: Add your message handler code here and/or call default

// CEdit::OnMouseMove(nFlags, point);
if (m_bOverControl)        // Cursor is currently over control
    {
        CRect rect;
        GetClientRect(rect);
        if (!rect.PtInRect(point))
        {
m_bOverControl = FALSE;
m_bUnderline=FALSE;    
            ReleaseCapture();
            RedrawWindow();
SetUnderline(m_bUnderline);
            return;
        }
    }
    else                      // Cursor has just moved over control
    {
m_bUnderline=TRUE;
        m_bOverControl = TRUE;
        RedrawWindow();
SetUnderline(m_bUnderline);

        SetCapture();
    }
}
void CHyperLinkEdit::SetUnderline(BOOL bUnderline)
{
    m_bUnderline = bUnderline;
    
    if (::IsWindow(GetSafeHwnd()))
    {
        LOGFONT lf;
        GetFont()->GetLogFont(&lf);
        lf.lfUnderline = m_bUnderline;        m_Font.DeleteObject();
        BOOL B=m_Font.CreateFontIndirect(&lf);
SetFont(&m_Font,FALSE);
        Invalidate(); 
    }
}