Bonjour neil,
si tu cherches a faire que ta form apparaisse progressivement, d'un état transparent à un état opaque. Il faut que tu utilises le AlphaBlend de ta Form.
exemple (Pour Delphi 6 et 7):
AlphaBlend := True;
AlphaBlendValue := 0;
for i := 0 to 254 do
inc(AlphaBlendValue);
exemple pour les autres versions :
const
WS_EX_LAYERED = $80000;
LWA_ALPHA = $2;
procedure SetTransparentHWND( hwnd: longint; percent : shortint );
var
old : longint;
User32 : Cardinal;
begin
User32 := LoadLibrary( 'USER32' );
if User32 <> 0 then
try
SetLayeredWindowAttributes := GetProcAddress( User32, 'SetLayeredWindowAttributes' );
if @SetLayeredWindowAttributes <> nil then
begin
old := GetWindowLongA( hwnd,GWL_EXSTYLE );
SetWindowLongA( hwnd, GWL_EXSTYLE, old or WS_EX_LAYERED );
SetLayeredWindowAttributes( hwnd, 0, ( 255 * percent ) DIV 100, LWA_ALPHA );
end;
finally
FreeLibrary( User32 );
end;
end;
// reste à faire dans ta form.
for i := 0 to 255 do
SetTransparentHWND(Handle, i);
Ces deux codes reste valable que pour les versions de windows XP et 2000.
Bonne Prog,
Olivier.