Flash窗框的外观与SDI模态形式相同

时间:2018-06-22 06:11:10

标签: delphi winapi

我知道Windows函数FlashWindow和FlashWindowEx,但它们会闪烁窗口标题和任务栏上的按钮。

但是,当我们单击模态窗口后面的非活动窗口时,如何以相同的方式编程Flash窗口呢? 您知道主窗口+显示了模态形式,然后单击不活动的主窗口,然后模态形式在窗口周围闪烁了整个框架。

更新 我需要标准方式。我知道我可以使用桌面窗口管理器(DWM)API和并条机。但是我尝试避免此步骤,因为它需要将来的维护。 而且我不想花时间分析如何自动完成以“相同”方式绘制它。

1 个答案:

答案 0 :(得分:1)

我看到它可以通过FlashWindowEx实现:)

我只是在此函数中省略了dwTimeout参数,但我误解了名称 “ FLASHW_CAPTION ”不仅表示标题,还表示框架窗口。 可以通过以下代码解决效果:

Var f: TFlashWInfo;
begin
  f.cbSize:= SizeOf(TFlashWInfo);
  f.hwnd:= Handle;
  f.dwFlags:= FLASHW_CAPTION;
  f.uCount:= 8;
  f.dwTimeout:= 60;
  FlashWindowEx(f)

闪烁8次(这实际上意味着8次转换而不是次) 仅以FLASHW_CAPTION的速度闪烁60毫秒。