(Moderator)
Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
Delphi 2006 Professional
|
Re: transparentes formular in D3
20. Mär 2005, 11:19
mit folgendem source
Delphi-Quellcode:
function SetFormTransparent(AFormHandle: HWnd; ATransparentVal: Byte): Boolean;
const
WS_EX_LAYERED = $00080000;
LWA_ALPHA = $00000002;
var LStyle: Integer;
LDLLHandle: Cardinal;
LSetLayerdProc: function (Hwnd: THandle; crKey: COLORREF; bAlpha: Byte; dwFlags: DWORD): Boolean; stdcall;
begin
LDLLHandle := LoadLibrary('user32.dll');
if LDLLHandle <> 0 then
begin
@LSetLayerdProc := GetProcAddress(LDLLHandle, 'SetLayeredWindowAttributes');
if Assigned(LSetLayerdProc) then
begin
LStyle := GetWindowLong(AFormHandle, GWL_EXSTYLE);
SetWindowLong(AFormHandle, GWL_EXSTYLE, LStyle or WS_EX_LAYERED);
result := LSetLayerdProc(AFormHandle, 0, ATransparentVal, LWA_ALPHA);
end else result := False;
FreeLibrary(LDLLHandle);
end else result := False;
end;
Beispielaufruf:
SetFormTransparent(Handle, 255);
Jens Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
|
|
Zitat
|