»
How to use the alpha transparency features included in Windows 2000 and later
const
WS_EX_LAYERED = $80000;
LWA_COLORKEY = 1;
LWA_ALPHA = 2;
type
TSetLayeredWindowAttributes = function(
hwnd: HWND;
crKey: TColor;
bAlpha: byte;
dwFlags: DWORD
): BOOL; stdcall;
procedure TForm1.FormCreate(Sender: TObject);
var
Info: TOSVersionInfo;
F: TSetLayeredWindowAttributes;
begin
inherited;
Info.dwOSVersionInfoSize := SizeOf(Info);
GetVersionEx(Info);
if (Info.dwPlatformId = VER_PLATFORM_WIN32_NT) and
(Info.dwMajorVersion >= 5) then
begin
F := GetProcAddress(
GetModulehandle(user32), 'SetLayeredWindowAttributes'
);
if Assigned(F) then
begin
SetWindowLong(
Handle,
GWL_EXSTYLE,
GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_LAYERED
);
F(Handle, 0, Round(255 * 80 / 100), LWA_ALPHA);
end;
end;
end;
| Original resource: |
The Delphi Pool |
| Author: |
Serhiy Perevoznyk |
| Added: |
2009-09-14 |
| Last updated: |
2009-09-14 |
« Return to contents »