【问题标题】:How to get mouse input from extended frame?如何从扩展框架中获取鼠标输入?
【发布时间】:2015-07-20 17:26:36
【问题描述】:

我有一个带有扩展框架的窗口。它看起来像这样:

我已按照 MSDN 扩展框架指南中的所有步骤操作:Custom Window Frame Using DWM

但问题是:我无法在扩展帧上捕捉鼠标移动。我没有收到WM_MOUSEMOVE 消息,而WM_NCMOUSEMOVE 仅在调整大小区域和扩展框架的顶部收到,这不是我需要的。

我已经尝试过SetCapture,但它不允许我最小化、最大化、关闭、移动或调整窗口大小,更不用说它显示“正在工作...”光标。

有人知道如何解决这个问题吗?

【问题讨论】:

    标签: c++ windows window mouseevent dwm


    【解决方案1】:

    问题比我想象的要简单。这是对 WM_NCHITTEST 的天真回应:“如果它不是窗口边框,那么它就是 HTNOWHERE”。将其更改为 HTCLIENT 解决了我的问题。

    奇怪的是,那个 MSDN 页面告诉我们使用 HTNOWHERE。

    【讨论】:

      猜你喜欢
      • 2015-12-21
      • 1970-01-01
      • 2023-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多