(Gast)
n/a Beiträge
|
Re: SplashScreen mit PNG?
14. Okt 2007, 14:08
Zitat von Khabarakh:
Hier die versprochene Demo.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
Alpha: Boolean;
begin
Bit := TBitmap32.Create;
LoadPNGintoBitmap32(Bit, ExtractFilePath(ParamStr(0)) + ' test.png', Alpha);
setWindowLong( Handle, GWL_EXSTYLE,
getWindowLong( Handle, GWL_EXSTYLE) or WS_EX_LAYERED {or WS_EX_TRANSPARENT});
// WS_EX_TRANSPARENT macht das Fenster für Mausklicks transparent
BlendF.BlendOp := AC_SRC_OVER;
BlendF.BlendFlags := 0;
BlendF.SourceConstantAlpha := 255;
BlendF.AlphaFormat := AC_SRC_ALPHA;
P := Point(0, 0);
Size.cx := Bit.Width;
Size.cy := Bit.Height;
UpdateLayeredWindow( Handle, 0, nil, @Size, Bit.Handle, @P, 0, @BlendF, ULW_ALPHA);
end;
Ich verwende hier für den Alphakanal die GR32-Lib (ist einfach einfach ), aber es ist natürlich auch per WinAPI/ VCL möglich.
Ich wolte das Projekt anschauen leider fehlt beim Öffnen die .Res
Ich habe G32 Package installiert trotzdem bekomme ich diese Meldung:
[Error] Unit1.pas(40): Undeclared identifier: 'LoadPNGintoBitmap32'
Delphi-Quellcode:
begin
Bit := TBitmap32.Create;
LoadPNGintoBitmap32(Bit, ExtractFilePath(ParamStr(0)) + 'test.png', Alpha); // da
<>
|
|
Zitat
|