请问在VC++中,实现指向一个按钮时即显示相关信息的功能用什么方式?On_Mouse_Move?

swirl0626 2003-10-18 07:13:40
如题:

想在在VC++中,实现指向一个按钮时即显示相关信息的功能(在另外一个CEdit框内显示)用什么方式?

在按钮对应的消息中,只有 单击和双击 两种。
想通过On_Mouse_Move消息,通过判别鼠标移动到相应的区域来触发该显示功能操作。不知道这种方法是否为唯一活说普遍采用的方式,请问有没有更好的方式?有相关例子吗?

谢谢!
...全文
39 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
swirl0626 2003-10-20
  • 打赏
  • 举报
回复
请问能给我说一下WM_Mouse_Move工作的基本原理吗?我可以构想函数的实现过程是这样的吗?

void myView::onMouseMove(UINT nFlags,CPoint point)
{
case (point.x,point y)
{
在按扭1上:在CEdit框内显示按扭1的功能;break;
在按扭21上:在CEdit框内显示按扭2的功能;break;
.....
在按扭n上:在CEdit框内显示按扭n的功能;break;
}
CDialog::OnMouseMove(nFlags, point);
}

那么我有2个问题:
1 首先,这种方式对吗?有没有相关的例子?谢谢

2 如果对,我如何判断鼠标是否在CButton内?用什么函数?

谢谢各位
flyelf 2003-10-18
  • 打赏
  • 举报
回复
响应ON_NOTIFY_EX_RANGE的TTN_NEEDTEXT消息
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXT, 0, 0xFFFF, OnToolTipText)
原型:
afx_msg BOOL OnToolTipText(UINT nID, NMHDR *pNMHDR, LRESULT *pResult);
在该函数中处理
MilitaryMiniatures 2003-10-18
  • 打赏
  • 举报
回复
这样做可以。然而要注意以下事情:
1,WM_MOUSEMOVE消息是发送给按钮的,因此当鼠标在按钮上时,你的对话框接受不到这个消息。
2,而你的编辑框是在对话框里面的,为了让对话框能知道“鼠标在按钮中”这个事件,就必须由你的按钮在响应WM_MOUSEMOVE消息时,给对话框发送消息,这个消息可以是自定义消息。
3,对话框在响应这个自定义消息的时候,就可以在编辑框里面显示信息了。
4,这种消息的发送,一般使用PostMessage就可以了。用SendMessage也可以。

15,979

社区成员

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

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