Главная страницаОбратная связьКарта сайта

Подсветить кнопку программы на панели задач несколько раз


// Define FLASHWINFO structure as record type 
type 
  FLASHWINFO = record 
    cbSize: UINT; 
    hWnd: HWND; 
    dwFlags: DWORD; 
    uCount: UINT; 
    dwTimeOut: DWORD; 
  end; 
  TFlashWInfo = FLASHWINFO; 

  // Define dwFlags constants 
const 
  FLASHW_STOP = 0; 
  FLASHW_CAPTION = 1; 
  FLASHW_TRAY = 2; 
  FLASHW_ALL = FLASHW_CAPTION or FLASHW_TRAY; 
  FLASHW_TIMER = 4; 
  FLASHW_TIMERNOFG = 12; 

var 
  Form1: TForm1; 
  FWInfo: TFlashWInfo; 

  // Function declaration for WinAPI call 
function FlashWindowEx(var pfwi: FLASHWINFO): BOOL; stdcall; 

  {...} 

implementation 

{...} 

// Import external function from "USER32.DLL" with the same name 
function FlashWindowEx; external user32 Name "FlashWindowEx"; 

procedure TForm1.FormCreate(Sender: TObject); 
begin 
  // Check for API function"s availability 
  if not Assigned(@FlashWindowEx) then 
  begin 
    ShowMessage("API Function FlashWindowEx is not present... Exit program!"); 
    Application.Terminate; 
  end 
  else 
    // Set default parameters 
    with FWInfo do 
    begin 
      cbSize    := SizeOf(FWInfo);  // Size of structure in bytes 
      hWnd      := Form1.Handle;      // Main"s form handle 
      dwFlags   := FLASHW_ALL;     // Flash both caption & task bar 
      uCount    := 10;              // Flash 10 times 
      dwTimeOut := 100;          // Timeout is 1/10 second apart 
    end; 
end; 

procedure TForm1.Button1Click(Sender: TObject); 
begin 
  // Flash on normal state 
  FlashWindowEx(FWInfo); 
end; 

procedure TForm1.Button2Click(Sender: TObject); 
begin 
  // Flash on minimized state 
  WindowState := wsMinimized;  // Application.Minimize; 
  FlashWindowEx(FWInfo); 
end;


Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация по разработке на Delph - "Подсветить кнопку программы на панели задач несколько раз", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2024 Дискета.info