鼠标坐标与窗口相关

时间:2014-12-01 08:14:48

标签: c console mouse console-application

我可以通过什么方式获得与活动窗口相关的鼠标坐标(特别是在行和列中)(假设0x0是窗口的左上角)?

1 个答案:

答案 0 :(得分:0)

这篇文章可能符合您的需求:

Get current cursor position

请注意,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

您必须确保每次隐藏光标的调用都与再次显示该调用的调用相匹配。