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

В Windows есть для этого ф-я SetLayeredWindowAttributes, вот пример её использования:

Code:

unit Win2k;

interface

uses Graphics, Windows;

 

function SetLayeredWindowAttributes(

hwnd : HWND; // handle to the layered window

crKey : TColor; // specifies the color key

bAlpha : byte; // value for the blend function

dwFlags : DWORD // action

): BOOL; stdcall;

 

function SetLayeredWindowAttributes; external 'user32.dll';

implementation

 

end.

 

program WinLayer;

 

uses

Windows, SysUtils,

Win2k in 'Win2k.pas';

 

const

WS_EX_LAYERED= $80000;

LWA_COLORKEY = 1;

LWA_ALPHA = 2;

 

var

Hndl : THandle;

Transp : Byte;

 

begin

Writeln('Windows2000 Layer <- build by AK ->');

Writeln(' Usage: WINLAYER.EXE [window name] [Transp (0-255)]');

Writeln(' Example: WINLAYER "Calculator" 200');

Writeln;

if ParamCount <> 2 then exit;

Hndl := FindWindow(nil, PChar(ParamStr(1)));

Transp := StrToIntDef(ParamStr(2), 128);

if SetWindowLong(Hndl, GWL_EXSTYLE, GetWindowLong(Hndl, GWL_EXSTYLE) or WS_EX_LAYERED) = 0 then

Writeln('Error !');

 

if not SetLayeredWindowAttributes(Hndl, 0, Transp, LWA_ALPHA) then

// ^^^ степень прозрачности

// 0 - полная прозрачность

// 255 - полная непрозрачность

Writeln('Error !');

end.

  

 

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

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

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

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