繁体   English   中英

获取当前光标位置

[英]Get current cursor position

我想获取窗口的当前鼠标位置,并将其分配给 2 个变量xy (相对于窗口的坐标,而不是整个屏幕的坐标)。

我正在使用 Win32 和 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

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

如果您传入指向 POINT 结构的指针, GetCursorPos()将返回给您 x/y。

可以使用ShowCursor()来隐藏光标。

代码

#include <iostream>
#include <windows.h>

using namespace std;

int main(){
    POINT p;
    GetCursorPos(&p);
    cout << p.x << endl;
    cout << p.y << endl;
    return 0;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM