跟踪鼠标在窗口上的坐标

初学VC++,做了个小例子。

案例要求:

1、当鼠标在窗口中移动时,在窗口中输出当前鼠标相对于窗口的坐标。

2、当鼠标进入窗口时,鼠标形状为十字形。

步骤:

1、首先要VC6.0 创建一个典型的HELLOWORD 的 WIN32 应用程序 “ZB”。

2、然后重写过程函数:在 “ZB.CPP” 中的LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) 中添加鼠标移动消息处理:

case WM_MOUSEMOVE: //捕捉鼠标移动消息WM_MOUSEMOVE int xPos,yPos; //得到当前鼠标的位置 //LOWORD 和 HIWORD 是宏,表示取一个长整形数的低16位与高16位 xPos = LOWORD(lParam); //获取鼠标的X坐标 yPos = HIWORD(lParam); //获取鼠标的Y坐标 //得到窗体的坐标后要显示到窗口上 char szOurPut[20]; sprintf(szOurPut,"x = %d ,y = %d ",xPos,yPos); //#include<stdio.h> 字符串后多加一些空格用来覆盖先前输出的文本 hdc = ::GetDC(hWnd); //获得DC句柄 ::TextOut(hdc,0,0,szOurPut,strlen(szOurPut)); //通过DC将文本输出到窗口上 ::ReleaseDC(hWnd,hdc); //释放DC句柄 break;

因为其中用到sprintf()函数,故要添加头文件 <stdio.h> 。

3、当然也要修改了鼠标的形状,十字形,在注册窗口类函数ATOM MyRegisterClass(HINSTANCE hInstance)中修改wcex.hCursor= LoadCursor(NULL, IDC_ARROW); 改成 wcex.hCursor= LoadCursor(NULL, IDC_CROSS);

修改鼠标的形状有:

IDC_APPSTARTING:标准箭头和小沙漏;

IDC_ARROW:标准光标;

IDC_CROSS:十字光标。

运行效果图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值