微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使鼠标光标指向一个窗口?

如何解决如何使鼠标光标指向一个窗口?

有没有办法自动/认将鼠标光标设置为指向新创建的窗口(例如使用 CreateWindow 函数)?我知道对于键盘输入有一个 SetFocus() 函数,但还没有找到类似的用于鼠标的函数

解决方法

正如@IInspectable所说,以下是代码实现。

LRESULT CALLBACK WndProcNOP(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
    switch (msg)
    {
    case WM_CREATE:
    {
        RECT rcClient;
        GetWindowRect(hwnd,&rcClient);
        int x = rcClient.left + (rcClient.right - rcClient.left) / 2;
        int y = rcClient.top + (rcClient.bottom - rcClient.top) / 2;
        SetCursorPos(x,y);
    }
        break;
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProcW(hwnd,msg,wParam,lParam);
    }
    return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。