关于OnMouseOut的小问题

Ice1 2002-01-09 09:50:12
我想定置一个CStatic
我另作了一个class,他是CStatic的子类。
有没有办法作一个类似OnMouseOut的事件啊
...全文
130 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lemon_zc1949 2002-01-09
  • 打赏
  • 举报
回复
靠,怎么简单的还要搞个Timer,疯了。
lemon_zc1949 2002-01-09
  • 打赏
  • 举报
回复
我才写了个类似超连接的Static,取名叫CHotStatic,派生于CStatic
lemon_zc1949 2002-01-09
  • 打赏
  • 举报
回复
lemon.zc@263.net
Happy_Wawe 2002-01-09
  • 打赏
  • 举报
回复
Onmousemove里开一个Timer
Timer检查鼠标位置,如果出去了就是mouseout同时killtimer
Ice1 2002-01-09
  • 打赏
  • 举报
回复
lemon你的mail是什么啊
Ice1 2002-01-09
  • 打赏
  • 举报
回复
上个不全

void CLable::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CRect rect;
GetClientRect(rect);
if (PtInRect(rect,point))
{
OnMouseOver();
}
else
{
OnMouseOut();
}
CStatic::OnMouseMove(nFlags, point);
}

void CLable::OnMouseOver()
{
ModifyStyleEx(0,WS_EX_STATICEDGE,SWP_DRAWFRAME);
SetCapture();
}

void CLable::OnMouseOut()
{
ModifyStyleEx(WS_EX_STATICEDGE,0,SWP_DRAWFRAME);
ReleaseCapture();
}
Ice1 2002-01-09
  • 打赏
  • 举报
回复
我明白了
CRect rect;
GetClientRect(rect);
if (PtInRect(rect,point))
{
OnMouseOver();
}
else
{
OnMouseOut();
}
CStatic::OnMouseMove(nFlags, point);
lemon_zc1949 2002-01-09
  • 打赏
  • 举报
回复
你要使用到_TrackMouseEvent函数,以及TRACKMOUSEEVENT结构,我做了的。给我E_mail.

Windows下本来就有个WM_MOUSELEAVE消息,你可以用_TrackMouseEvent进行发送。

楼上的老兄是用测试Mouse的当前位置来判断的。
Ice1 2002-01-09
  • 打赏
  • 举报
回复
我试过......

CRect rect;
GetClientRect(rect);
if (!PtInRect(rect,point))
{
MessageBox("Dfdf");
}

CRect rect;
GetCursorPos(&point);
ScreenToClient(&point);
GetWindowRect(&rect);
if(!PtInRect(rect,point))
{
MessageBox("Dfdf");
}
这两个都不成 为什么啊
phoenix96_2000 2002-01-09
  • 打赏
  • 举报
回复
在OnMouseMove中
判断鼠标所在位置
GetCursorPos(&point);
ScreenToClient(&point);
static.GetWindowRect(&rect);

if(PtInRect(point,rect)
{
....
}
说明一下,我记得不太清楚了,还是先查那个PtInRect的参数,
反正大概是这样的,
Ice1 2002-01-09
  • 打赏
  • 举报
回复
是太简单了吗 不会是太难了吧
怎么没人回复啊
Kendiv 2002-01-09
  • 打赏
  • 举报
回复
upup

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧