您的位置: 旅游网 > 女人

VC设计多功能标签CLabelEx

发布时间:2019-09-13 20:41:05

2、感应鼠标用的方法如下所示:

在MouseMove里SetCapture()和ReleaseCapture();

void CLabelEx::OnMouseMove(UINT nFlags, CPoint point)

{

// TODO: Add your message handler code here and/or call default

if (m_bOver) // Cursor is currently over control

{

CRect rect;

GetClientRect(rect);

if (!rect.PtInRect(point))

{

m_bOver = FALSE;

if(m_bAutoUnderLine) ///自动下划线

{

this->SetUnderLine(FALSE,RGB(0,0,0));

}

if(m_bHighLight) //自动高亮

{

///恢复原来的字体颜色

this->SetTextColor(m_crBackText);

}

RedrawWindow();

ReleaseCapture();

return;

}

}

else // Cursor has just moved over control

{

m_bOver = TRUE;

if(m_bAutoUnderLine)

{

this->SetUnderLine(TRUE,RGB(0,0,255));

}

if(m_bHighLight)

{

m_crBackText=m_crText;

this->SetTextColor(RGB(0,0,255));

}

RedrawWindow();

SetCapture();

::SetCursor(m_hHandCur);

}

CStatic::OnMouseMove(nFlags, point);

}

注:这种方法简单方便,但是有一个问题,看附带的工程,单击Label1弹出一个对话框后Label1无法恢复原状。

查看本文来源

小孩不消化口臭怎么办
宝宝不爱吃饭要怎么办
得了心肌梗死
婴儿发烧38度怎么办
猜你会喜欢的
猜你会喜欢的