关于MFC中鼠标移动的问题 我想完成这么一个功能:就是把鼠标移动到一个地方,这个地方就会出现相关提示信息,比如屏幕上一些点,鼠标移到某点附近时,就显示该点的坐标。(不是单击鼠标出现对话框!)先谢谢大家了。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在鼠标移动的事件里WM_MOUSEMOVE,通过鼠标位置计算出要显示的信息 进行显示。 void CWaveToWindDlg::OnMouseMove(UINT nFlags, CPoint point) {/*CRect rect3; CRgn rgn3; CWnd *pWnd3=GetDlgItem(IDC_STATIC_1); CDC *pDC3=pWnd3->GetDC(); pWnd3->GetClientRect(rect3); rgn3.CreateRectRgn(rect3.left,rect3.top,rect3.right,rect3.bottom);//获取客户区 pDC3->SelectClipRgn(&rgn3);//设置客户区 防止 出现画出超过该画布的现象 CString str; str.Format("x=%d,y=%d",point.x,point.y); pWnd3->GetParent()->GetDescendantWindow(IDC_STATIC0)->SetWindowText("鼠标:"+str); */}简单的鼠标坐标显示 1#的说的是在WM_MOUSEMOVE消息中获取鼠标的位置,然后将要显示的信息显示在鼠标的那个位置上,你可以在需要显示的时候重回一下窗口,在重绘是获取鼠标位置,用TextOut,如果频繁的重绘,可能导致刷新很平凡,有点闪烁 用CToolTipCtrl就能实现,很简单的 没那么麻烦,我前几天写了一个程序显示鼠标坐标。记住:F9开始,F10暂停。另外如果想要显示鼠标处颜色成分的程序,我还可以给你。下面是你想要的。直接复制,就能用:#include<windows.h>#include<iostream.h>void main(){ while(1) { while(GetAsyncKeyState(VK_F9)!=-32767) Sleep(600); while(GetAsyncKeyState(VK_F10)!=-32767) { POINT p; GetCursorPos(&p); cout<<"X="<<p.x<<endl; cout<<"Y="<<p.y<<endl; cout<<endl; Sleep(600); } }} 楼上的程序 不敢恭维不建议Sleep;IDC_STATIC_1 是你鼠标所在对话框的ID; 我理解你的要求是,像鼠标移动到‘开始’按钮时,这是系统就会,弹出对话框提示。如果这样的话,用CToolTipCtrl实现。你上百度差一下有很多例子程序和使用方法。例如:http://blog.sina.com.cn/s/blog_4ac0a0d30100e1rp.html 求教:如何实现通过主机名称获取主机IP地址 vc调用同目录下dll 求救:MOXA串口通讯程序死,且用任务管理器无法关掉 求助:UYVY422格式转为RGB 关于CWND的问题 求助关于北京爱恩科技 VC6.0的IDE中的查找结果框是只读的,有办法可以改变吗? 绑定控件的值变量。为什么我得不到控件的值呢? 软件都快要写好了,给了同事代码! 在线等待:有分! 关于VC2005 IDE的调试的几个问题。。。 由CArray派生的类为什么无法在动态库中(dll)导出
{/*CRect rect3;
CRgn rgn3;
CWnd *pWnd3=GetDlgItem(IDC_STATIC_1);
CDC *pDC3=pWnd3->GetDC();
pWnd3->GetClientRect(rect3);
rgn3.CreateRectRgn(rect3.left,rect3.top,rect3.right,rect3.bottom);//获取客户区
pDC3->SelectClipRgn(&rgn3);//设置客户区 防止 出现画出超过该画布的现象 CString str;
str.Format("x=%d,y=%d",point.x,point.y);
pWnd3->GetParent()->GetDescendantWindow(IDC_STATIC0)->SetWindowText("鼠标:"+str);
*/
}简单的鼠标坐标显示
下面是你想要的。直接复制,就能用:
#include<windows.h>
#include<iostream.h>
void main()
{
while(1)
{
while(GetAsyncKeyState(VK_F9)!=-32767)
Sleep(600);
while(GetAsyncKeyState(VK_F10)!=-32767)
{ POINT p;
GetCursorPos(&p);
cout<<"X="<<p.x<<endl;
cout<<"Y="<<p.y<<endl;
cout<<endl;
Sleep(600);
}
}
}
IDC_STATIC_1 是你鼠标所在对话框的ID;
如果这样的话,用CToolTipCtrl实现。
你上百度差一下有很多例子程序和使用方法。
例如:
http://blog.sina.com.cn/s/blog_4ac0a0d30100e1rp.html