顶层窗口最小化时,popup窗口无法接收焦点

顶层窗口最小化时,popup窗口无法接收焦点,第1张

概述顶层窗口最小化时,popup窗口无法接收焦点

我创build了一个popup窗口( WS_POPUP , WS_EX_topMOST , WS_EX_TOolWINDOW ),它可以在单击时获得焦点(通过调用WM_LbuttonDOWN处理程序中的SetFocus )。 所有的工作,直到我最小化主应用程序窗口(popup仍然可见) – 现在当我点击popup窗口,它立即失去了重点。 为什么会发生这样的情况,不应该popup的窗口与主窗口完全无关,因为它不是一个孩子或什么东西?

更新:这似乎与WS_POPUP有关。 尝试在主应用程序窗口最小化时单击一个窗口,会闪烁其任务栏图标,并立即杀死焦点。

使用dek Web Cam的API?

点击聚焦forms丢失

窗口消息:WM_CREATE和WM_NCCREATE不同?

OpenCV countour / convexHull错误

使用与windows和Python 2.6.1的猎豹模板系统(名称映射问题)

点击窗口的目的是激活应用程序。 如果一个窗口是可见的但不是拥有的(就像你的情况那样),那么当窗口被点击时,windows不能激活该应用程序。 这是你所看到的(预期的)行为。

如果有什么特别的东西你想要完成,那么你仍然应该通过消息循环看到那个窗口的消息。 键盘消息只被发送到焦点窗口。 鼠标消息被发送到已捕获鼠标的窗口(如果有的话)或鼠标指针下的最上面的窗口(通过命中测试发现)是否具有焦点。 如果需要,可以将各种其他消息发送到窗口(例如绘画)。

如果你想让你的d出式窗口获得焦点,那么它必须有一个可以被激活的顶级父窗口。 通常的解决方案是创建一个不可见的顶层窗口(1像素或屏幕外)作为其父项。

发现一个有趣的解决方案,恰好也解决了我的其他问题(如果d出窗口显示在全屏游戏上,单击它将导致任务栏出现) – 我使窗口透明( WS_EX_transparent ),并通过系统控制来处理鼠标和键盘 -宽吊钩。 唯一的缺点是我必须让鼠标移动通过,因为阻塞它会导致光标停止(因此,我不能改变光标,因为我的d出窗口后面的应用程序只会改变它)。

总结

以上是内存溢出为你收集整理的顶层窗口最小化时,popup窗口无法接收焦点全部内容,希望文章能够帮你解决顶层窗口最小化时,popup窗口无法接收焦点所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1254627.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存