c++ win32 set cursor position
I know which function to use but I can't get it to work right. I used SetCursorPos()
the only problem is that it sets the cursor not to the windows coordinates but to the screen coordinates. i also tried the ScreenToClient()
but it didn't work ethier.
pt.x=113;
pt.y=280;
ScreenToClient(hWnd, &pt);
SetCursorPos(pt.x, pt.y);
any idea? I'm using win32. I hope that I given enough infor开发者_运维知识库mation.
You're approaching this slightly backwards. The SetCursorPos
function works in screen cordinates and you want to set the cursor based on window / client coordinates. In order to do this you need to map from client to screen coordinates. The function ScreenToClient
does the opposite. What you're looking for is ClientToScreen
For example:
ClientToScreen(hWnd, &pt);
SetCursorPos(pt.x,pt.y);
Documentation
- http://msdn.microsoft.com/en-us/library/aa931003.aspx
精彩评论