Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi TPngSpeedButton Image aus den Ressourcen laden? (https://www.delphipraxis.net/103489-tpngspeedbutton-image-aus-den-ressourcen-laden.html)

hitzi 16. Nov 2007 12:55


TPngSpeedButton Image aus den Ressourcen laden?
 
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:
Delphi-Quellcode:
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

cruiser 16. Nov 2007 13:20

Re: TPngSpeedButton Image aus den Ressourcen laden?
 
Warum nicht direkt ein
Delphi-Quellcode:
PngSpeedButtonX.PngImage.LoadFromResourceName(HInstance,'NAME');
Klappt bei mir zumindest wunderbar

hitzi 16. Nov 2007 13:24

Re: TPngSpeedButton Image aus den Ressourcen laden?
 
Komisch, das funktioniert bei mir leider nicht. Damit hatte ich angefangen und bin dann auf den etwas "umständlicheren" Code gewechselt, in der Hoffnung die Lösung für das Problem zu finden.

Hast du dem PngSpeedButton schon zur Designtime ein PNG zugewiesen? Das ist jedenfalls bei mir der Fall.

cruiser 16. Nov 2007 13:28

Re: TPngSpeedButton Image aus den Ressourcen laden?
 
Jetzt ja... funzt super... kann es sein, dass es die resourcen falsch/nicht eingebunden hat? Schau dir die kompilierte exe einfach mal mit nem Resource-Editor an (XNResourceEditor find ich persönlich klasse... eignet sich auch zum erstellen der RES-Files)

hitzi 16. Nov 2007 13:38

Re: TPngSpeedButton Image aus den Ressourcen laden?
 
Mit PE Explorer kann ich mir die Resourcen meines Programmes ansehen und finde da auch die zwei PNG Bilder. Die werden sogar angezeigt ... jedenfalls im PE Explorer.

cruiser 16. Nov 2007 13:46

Re: TPngSpeedButton Image aus den Ressourcen laden?
 
Hrm.. stehn die da auch als RC Data drin? denn nur da raus laden die Buttons... aber müsst ja eigentlich :gruebel:

hitzi 16. Nov 2007 13:50

Re: TPngSpeedButton Image aus den Ressourcen laden?
 
Yup, die stehen als RCDATA drin. Von wo hast du die PNGImage Komponente?

cruiser 16. Nov 2007 13:54

Re: TPngSpeedButton Image aus den Ressourcen laden?
 
Direkt von Thany.org

und anschliessend im Source-Dir den neusten pngdelphi-code (auf Thany verlinkt) drüber gespielt

hitzi 16. Nov 2007 14:13

Re: TPngSpeedButton Image aus den Ressourcen laden?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Von da ich die Komponente auch.

Ich hab mal ein kleines Beispiel Projekt gemacht. Ein PNGSpeedButton mit einen PNG vorbelegt und ein zweiter Button zum Ändern des Bildes beim PNGSpeedbutton. Bei mir passiert da nichts.

[EDIT] das mit dem neusten pngdelphi-code probier ich gleich noch aus.

[EDIT2] Asuprobiert und leider besteht das Problem weiterhin.

cruiser 16. Nov 2007 14:22

Re: TPngSpeedButton Image aus den Ressourcen laden?
 
klingt evtl. kleinlich... aber.. hast du schon mal alles in grossbuchstaben probiert? Wenn das Klappt in die Switch-func am besten gleich ein AnsiUpperCase einbaun ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:40 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz