Thema: Delphi SplashScreen mit PNG?

Einzelnen Beitrag anzeigen

taktaky
(Gast)

n/a Beiträge
 
#51

Re: SplashScreen mit PNG?

  Alt 14. Okt 2007, 13: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
<>
  Mit Zitat antworten Zitat