Содержание материала

Code:

// 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;

 

 

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить