Рамка флэш-окна вокруг так же, как и формальная форма SDI,

Я знаю функцию Windows FlashWindow и FlashWindowEx, но они загорают заголовок окна и кнопку на панели задач.

Но как программировать flash-окно так же, как при нажатии на неактивное окно за модальным окном? Вы знаете главное окно +, вы показываете какую-то модальную форму, а затем вы нажимаете на неактивное главное окно, а затем ваша модальная форма заставляет весь фрейм вокруг окна.

ОБНОВЛЕНИЕ Мне нужен стандартный способ. Я знаю, что я могу использовать API-интерфейс Window Window Manager (DWM) и рисовать рамку самостоятельно. Но я стараюсь избегать этого шага, поскольку он нуждается в дальнейшем обслуживании. И я не хочу тратить время на анализ того, как рисовать это «таким же образом», как это делается автоматически.

delphi,winapi,

0

Ответов: 1


1

Я вижу, что это может быть выполнено с помощью FlashWindowEx :)

Я просто пропустил параметр dwTimeout в этой функции, и я неправильно понял название « FLASHW_CAPTION », это означает не только Title, но и оконную рамку . Эффект может быть разрешен этим кодом:

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 миллисекунд.

Дельфы, WinAPI,
Похожие вопросы