如题:想在在VC++中,实现指向一个按钮时即显示相关信息的功能(在另外一个CEdit框内显示)用什么方式?在按钮对应的消息中,只有 单击和双击 两种。
想通过On_Mouse_Move消息,通过判别鼠标移动到相应的区域来触发该显示功能操作。不知道这种方法是否为唯一活说普遍采用的方式,请问有没有更好的方式?有相关例子吗?谢谢!
想通过On_Mouse_Move消息,通过判别鼠标移动到相应的区域来触发该显示功能操作。不知道这种方法是否为唯一活说普遍采用的方式,请问有没有更好的方式?有相关例子吗?谢谢!
1,WM_MOUSEMOVE消息是发送给按钮的,因此当鼠标在按钮上时,你的对话框接受不到这个消息。
2,而你的编辑框是在对话框里面的,为了让对话框能知道“鼠标在按钮中”这个事件,就必须由你的按钮在响应WM_MOUSEMOVE消息时,给对话框发送消息,这个消息可以是自定义消息。
3,对话框在响应这个自定义消息的时候,就可以在编辑框里面显示信息了。
4,这种消息的发送,一般使用PostMessage就可以了。用SendMessage也可以。
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXT, 0, 0xFFFF, OnToolTipText)
原型:
afx_msg BOOL OnToolTipText(UINT nID, NMHDR *pNMHDR, LRESULT *pResult);
在该函数中处理
{
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内?用什么函数?谢谢各位