Hallo,
ich bekomm es einfach nicht hin, dass bei einem PngSpeedButton ein aus der Ressource geladenes Bild angezeigt wird.
Ich nutze folgende Funktion, um bei einem Button das Bild zu ändern. resName ist dabei der Name der Ressource.
Delphi-Quellcode:
procedure TfrmMain.ChangePicture(resName : string);
var png : TPNGObject;
begin
png := TPNGObject.Create;
try
png.LoadFromResourceName(HInstance, resName);
if png <> nil then begin
btn1.PngImage.Assign(png);
btn1.Repaint;
end;
finally
FreeAndNil(png);
end;
end;
Es wird kein Fehler erzeugt und nach dem Laden sind auch Daten in der Variable png. Nur eben das Assign scheint keine Wirkung zu haben.
Beispielaufruf:
ChangePicture('StopPNG');
Ressourcedatei:
Delphi-Quellcode:
GoPNG RCDATA "D:\Projekte\Delphi\Anderes\Suche\find.png"
StopPNG RCDATA "D:\Projekte\Delphi\Anderes\Suche\cancel.png"
Woran liegt das?
Viele Grüße