// SystemWindowsFormsControl
int x = ControlMousePositionX;
int y = ControlMousePositionY;
// SystemWindowsFormsCursor
int x = CursorPositionX;
int y = CursorPositionY;
首先,你要确认是哪一个窗口捕获了你鼠标的信息。如果你没有特意的设置鼠标捕获,默认的一般为鼠标下所在Z order的最上层窗口所捕获。
其次,转换坐标时要清楚你获得的鼠标位置是那个窗口的,然后你要转换到那个窗口。如果不能理解成员函数的含义的话可以使用全局函数::ScreenToClient();
::ClientToScreen();
VC下:先映射ON_WM_LBUTTONDOWN消息,会产生函数void OnLButtonDown(UINT nFlags, CPoint point) ,point即是点击位置
这个在MSDN有明确说明,lParam的低字是x坐标,高字是y坐标,都是相对于客户区的。这个和vc,qt或者dev c++无关,这是 *** 作系统的约定
case WM_LBUTTONDOWN:
{
ptx = GET_X_LPARAM(lParam);
pty = GET_Y_LPARAM(lParam);
}
} break;
以上就是关于C#怎样获取鼠标位置全部的内容,包括:C#怎样获取鼠标位置、请教,如何获取鼠标单击位置相对于屏幕位置的坐标点、VC下,C语言如何获取鼠标单击位置高手请进。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)