a372187663 发表于 2014-10-22 16:54:28

怎样显示鼠标移动的动态坐标和将坐标系建立在左下角

就是鼠标移动的时候显示鼠标的变化的坐标:
      case WM_MOUSEMOVE:
                xPos = GET_X_LPARAM(lParam);
                yPos = GET_Y_LPARAM(lParam);
                wsprintf(szBuffer, TEXT("X1 = %d,Y1 = %d"), xPos / 20, yPos / 20);
                TextOut(hdc, 0, 0, szBuffer, lstrlen(szBuffer));这样不行,还有个朋友推荐的:case WM_MOUSEMOVE:
                cxMouse = LOWORD(lParam);
                cyMouse = HIWORD(lParam);
                hdc = GetDC(hWnd);
                _sntprintf_s(szBuffer,_countof(szBuffer),TEXT("x=%d,y=%d"),cxMouse,cyMouse);
                TextOut(hdc,200,200,szBuffer,lstrlen(szBuffer));
                ReleaseDC(hWnd,hdc);
                break;我编译成功但是直接exe中断。请问还有办法或者改进的地方么?

流行语 发表于 2014-10-22 16:54:29

你看一下,我用的是vs2012.

流行语 发表于 2014-10-22 18:38:14

什么情况,我这里可以运行啊。

a372187663 发表于 2014-10-22 19:05:27

流行语 发表于 2014-10-22 18:38
什么情况,我这里可以运行啊。

能把你全部代码发给我看看不?

a372187663 发表于 2014-10-23 11:39:03

流行语 发表于 2014-10-23 00:50
你看一下,我用的是vs2012.

噢 谢谢了,帮了我一个大忙!
还有一个问题就是你知道怎样将改成左下角为原点 向上为Y,向右为X吗?

流行语 发表于 2014-10-24 01:11:17

你计算一下不行吗,假如左下角为(x1,y1)为原点,你首先获取到客户区域RECT的值,这样就可以用新的的原点坐标计算出鼠标的位置了。鼠标的坐标可以这样计算一下
x2 = 鼠标的x坐标
y2 = rect.y - 鼠标的y坐标
这样不知道能不能满足你的需要

大个的糖果 发表于 2014-10-30 15:42:26

lyjztz 发表于 2014-11-27 11:27:01

学习学习

智商是硬伤 发表于 2015-9-2 09:26:18

{:7_146:}

y290176346 发表于 2015-9-23 21:33:39

我是来领鱼币的
页: [1]
查看完整版本: 怎样显示鼠标移动的动态坐标和将坐标系建立在左下角