子窗体不会触发WM_LBUTTONDOWN,只会触发WM_LBUTTONUP消息的原因

15 篇文章 0 订阅

这里感谢下https://blog.csdn.net/wyy1991990/article/details/19629831 文章的作者,要不是这篇文章,我简直要怀疑人生了。

子窗口无法响应WM_LBUTTONDOWN消息,但是响应WM_LBUTTONUP,原因是和父窗口处理WM_NCACTIVATE相关。

下面是另外一篇文章的关于这个消息的说明,不确定是否准确

当WM_NCACTIVATE消息的wParam参数为true 时表示窗体被激活,为false 时表示窗体改为未被激活的状态。这个时候消息处理过程的返回值,为true 表示允许激活其他的窗体,为false 表示不允许激活其他的窗体。

 另外msdn的链接在这里https://msdn.microsoft.com/en-us/ie/ms632633(v=vs.94)

对于win32窗口,如果不想让窗口闪烁时显示出来自带的边框,一般会选择自己过滤这个消息,该消息的返回值对于主窗口来说,一般返回1即可,也就是上面所说的,允许其他窗体(应该主要是他的子窗体)被激活。具体到duilib里面来讲,就是让bHandled为true,lRes为1即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值