2010-09-05 279 views
4

我知道哪个函数可以使用,但我无法让它正常工作。我用SetCursorPos()唯一的问题是它将光标设置为不是以windows坐标而是以屏幕坐标。我也尝试了ScreenToClient(),但它不道德。
这里是我的代码:C++ win32设置光标位置

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

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

回答

11

你正在接近这个稍微倒退。 SetCursorPos函数在屏幕坐标系中工作,并且您希望根据窗口/客户端坐标设置光标。为了做到这一点,你需要从客户端映射到屏幕坐标。功能ScreenToClient则相反。什么你要找的是ClientToScreen

例如:

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

文档