【发布时间】:2015-01-29 05:05:15
【问题描述】:
我可以通过什么方式获取与活动窗口相关的鼠标坐标(尤其是行和列)(假设 0x0 是窗口的左上角)?
【问题讨论】:
-
哪个操作系统?哪个框架(如果有)?
标签: c console mouse console-application
我可以通过什么方式获取与活动窗口相关的鼠标坐标(尤其是行和列)(假设 0x0 是窗口的左上角)?
【问题讨论】:
标签: c console mouse console-application
这篇文章可能适合您的需求:
请注意,Win32 为 C 和 C++ 程序员提供了许多有用的低级函数。
通过调用 GetCursorPos 获取光标位置。
POINT p;
if (GetCursorPos(&p))
{
//cursor position now in p.x and p.y
}
这将返回相对于屏幕坐标的光标位置。调用 ScreenToClient 映射到窗口坐标。
if (ScreenToClient(hwnd, &p))
{
//p.x and p.y are now relative to hwnd's client area
}
您可以使用 ShowCursor 隐藏和显示光标。
ShowCursor(FALSE);//hides the cursor
ShowCursor(TRUE);//shows it again
您必须确保每次隐藏光标的调用都与再次显示光标的调用匹配。
【讨论】: