weixin_39665847
weixin_39665847
2020-12-08 18:08

技术交流:请教轮子哥,如何使无边框窗口响应窗口管理器

轮子哥,您好。我最近在尝试使用Qt制作无边框的窗口,我用setWindowFlags(Qt::Window | Qt::FramelessWindowHint)去掉了窗口边框,并且我使用Qt的事件过滤器截取了Windows事件,我在WM_NCHITTEST事件里处理了鼠标指针的变化以及实现了窗口拖动。我用DwmExtendFrameIntoClientArea(hwnd, {-1,-1,-1,-1})带回了窗口的边框阴影,可是我发现我的无边框窗口无法响应Win+←、Win+→、Win+↑以及Win+↓,也无法在拖动到桌面顶端的时候自动最大化,感觉像是无法响应“窗口管理器”(如果有这么一个东西的话)。GacUI也是自己搞的边框,用起来跟原生的边框一模一样,请问您是调用了什么API,来实现这种与“窗口管理器”的对接?

该提问来源于开源项目:vczh-libraries/GacUI

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

4条回答

为你推荐

换一换