2010-09-05 184 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); 

文檔