我知道Windows函数FlashWindow和FlashWindowEx,但它们会闪烁窗口标题和任务栏上的按钮。
但是,当我们单击模态窗口后面的非活动窗口时,如何以相同的方式编程Flash窗口呢? 您知道主窗口+显示了模态形式,然后单击不活动的主窗口,然后模态形式在窗口周围闪烁了整个框架。
更新 我需要标准方式。我知道我可以使用桌面窗口管理器(DWM)API和并条机。但是我尝试避免此步骤,因为它需要将来的维护。 而且我不想花时间分析如何自动完成以“相同”方式绘制它。
答案 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毫秒。