c++ - 获取当前光标位置

标签 c++ winapi

我想获取窗口的当前鼠标位置,并将其分配给 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

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

关于c++ - 获取当前光标位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6423729/

相关文章:

无法在新文本框中显示文本输入

c++ - 注入(inject)的 DLL 主循环导致进程崩溃

C++ 使用 MoveWindow() 动画按钮

c++ - 在调试器下运行时,AssignProcessToJobObject 失败并出现 "Access Denied"错误

c++ - 如何用c++获取标题栏的实际高度

c++ - 为什么对 `getNoise` 的调用使用基类实现而不是子类实现?

C++ 字符问题

c++ - 在 Qt 中如何从另一个文件中的函数访问小部件?

c++ - 在基于自定义 Qt 的更新程序中下载验证

c++ - 指向抽象类型的指针数组