如何解决模态窗口闪烁效果
| 在典型的Windows应用程序中,当出现模态对话框并单击其边界之外时,它会闪烁,从而表明目前禁止在这些边界之外的任何事物。 发生这种情况时会触发任何事件吗?我确实需要此效果,以便可以为WPF伪模态窗口模拟此行为。 谢谢。 ish解决方法
看到这个SO问题和答案:防止WebBrowser控件窃取焦点吗?
它解释了FlashWindow在后台执行的操作。我引用了您感兴趣的内容:
微软没有解释太多
说说FlashWindow的功能。
不幸的是,它没有发送
特定消息(例如WM_FLASH或
类似),
更容易捕获和废除
行为。相反,FlashWindow确实
三件事:
它为
闪烁的间隔它发送一个
第一个WM_NCACTIVATE消息
flash它发送WM_NCACTIVATE消息
计时器到期时(接收时)
WM_SYSTIMER)
因此,您必须找到感兴趣的窗口,并尝试在托管窗口过程中捕获WM_SYSTIMER。这是(很旧的)未记录的Windows消息。值是0x118。您还可以捕获WM_NCACTIVATE,这可能会更容易,因为它由.NET事件(已激活,已停用等)表示。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。