【问题标题】:Modal Window flicker effect模态窗口闪烁效果
【发布时间】:2011-09-06 01:06:08
【问题描述】:

在典型的 Windows 应用程序中,当出现模态对话框并且我们在其边界之外单击时,它会闪烁,因此表示暂时禁止在这些边界之外进行任何操作。

发生这种情况时是否会触发任何事件?我真的需要这种效果,以便我可以为我的 WPF 伪模式窗口模拟这种行为。

谢谢。 哈里什

【问题讨论】:

    标签: .net window click modal-dialog


    【解决方案1】:

    查看这个 SO 问题和答案:Prevent WebBrowser control from stealing focus?

    它解释了 FlashWindow 在后台的作用。我引用你感兴趣的内容:

    微软没有解释这么多 说 FlashWindow 的作用。 不幸的是,它没有发送 特定消息(比如 WM_FLASH 或 类似的),这会成功的 更容易捕获并取消它 行为。相反,FlashWindow 确实 三件事:

    它为 闪烁间隔 它发送一个 第一个 WM_NCACTIVATE 消息 flash 它发送一个 WM_NCACTIVATE 消息 当计时器到期时(在接收 WM_SYSTIMER)

    因此,您必须找到您感兴趣的窗口,并尝试在宿主窗口过程中捕获 WM_SYSTIMER。这是一条(非常古老的)未记录的 Windows 消息。值为 0x118。您还可以捕获 WM_NCACTIVATE,这可能更容易,因为它由 .NET 事件(激活、停用等)表示。

    【讨论】:

      猜你喜欢
      • 2011-12-13
      • 1970-01-01
      • 1970-01-01
      • 2012-04-05
      • 2014-04-29
      • 1970-01-01
      • 1970-01-01
      • 2019-04-03
      • 2013-09-17
      相关资源
      最近更新 更多