设为首页 加入收藏

TOP

VC设计多功能标签CLabelEx(二)
2012-11-04 15:13:13 来源: 作者: 【 】 浏览:405
Tags:设计 多功能 标签 CLabelEx
  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无法恢复原状。

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇全面理解COM+ 下一篇Win2000下编程实现窗体透明特效

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: