c ++ win32设置游标位置

时间:2010-09-05 07:13:32

标签: c++ visual-c++ winapi cursor

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

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

任何想法? 我正在使用win32。我希望我能提供足够的信息。

1 个答案:

答案 0 :(得分:11)

你正在接近这个稍微倒退。 SetCursorPos函数在屏幕坐标中有效,您希望根据窗口/客户端坐标设置光标。为此,您需要从客户端映射到屏幕坐标。函数ScreenToClient恰恰相反。你要找的是ClientToScreen

例如:

ClientToScreen(hWnd, &pt);
SetCursorPos(pt.x,pt.y);

文档