Hallo!
Ich habe eine TImageList und darin per Property-Editor ein Alpha-PNG geladen. Dieses PNG wird zur Laufzeit z.B. auf einem SpeedButton korrekt angezeigt (Screenshot 1). Wenn ich das selbe PNG (exakt die selbe Datei) zur Laufzeit in die ImageList nachlade, dann sieht es aus wie im Screenshot 2. Wo mache ich da den Denkfehler?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
PNG: TPngImage;
BMP: TBitmap;
begin
PNG:= TPngImage.Create;
BMP:= TBitmap.Create;
try
PNG.LoadFromFile('test.png');
BMP.PixelFormat:= pf32bit;
PNG.AssignTo(BMP);
ImageList_Add(ImageList.Handle, BMP.Handle, 0);
SpeedButton.ImageIndex:= 1;
finally
PNG.Free;
// BMP.Free;
end;
end;
PS: Das eine fehlende
Free ist mir schon klar, nur zu Testzwecken