C++ Win32设置光标位置

4

我知道要使用哪个函数,但是我无法使其正常工作。我使用了SetCursorPos()函数,唯一的问题是它将光标设置到屏幕坐标而不是窗口坐标。我还尝试了ScreenToClient()函数,但也没有成功。
这是我的代码:

pt.x=113;
pt.y=280;
ScreenToClient(hWnd, &pt);
SetCursorPos(pt.x, pt.y);

有什么想法吗? 我正在使用win32。我希望我提供了足够的信息。

1个回答

12
你的方法略有不妥。SetCursorPos函数工作在屏幕坐标系下,而你想要根据窗口/客户端坐标设置光标。为了实现这个目标,你需要从客户端映射到屏幕坐标。ScreenToClient函数执行相反的操作。你需要的是ClientToScreen函数。
例如:
ClientToScreen(hWnd, &pt);
SetCursorPos(pt.x,pt.y);

文档


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接