AfxGetApp()->LoadIcon(IDR_ICON_1)???
-
Hallo Leute,
ich habe zwei Dlls. Die eine mit meiner Anwendung und die andere beinhaltet die Ressourcen.
In der Ressource DLL habe Ich ein XML File abgelegt.
In der Haupanwendungs-Dll möchte ich ein Icon Aud der Res. DLL laden.
Das würde ich über
AfxGetApp()->LoadIcon(IDR_ICON_1)machen. Funktioniert auch soweit.
Jetzt würde ich aber gerne den Ausdruck IDR_ICON_1 als String im XML file ablegen um mit diesem spätern den LoadIcon Befehl auszuführen.
Ich weiss, dass geht ja nicht, da dieser Wert ja nur ein DEFINE ist.Kann ich denn irgenwie den Integer Wert über den String <<IDR_ICON_1>> finden?
Bin für jeden Hinweis dankbar.
-
AfxSetResourceHandle durchführen, dann werden die Resourcen von dort geladen!
-
AfxSetResource habe ich gemacht.
Wenn ich LoadIcon(IDR_ICON_1) mache geht es ja.
IDR_ICON_1 enspricht ja nur einem integer wert aus der resource.h.
Ich möchte aber gerne aus einem XML den Wert String <<IDR_ICON_1>> benutzen umd
LoadIcon("IDR_ICON_1") zu machen. Das wird aber wohl nicht funktionieren. Deswegen dachte ich mir über den String "IDR_ICON_1" den Integer Wert zu holen, welchen ich dann für LoadIcon benutzen könnte.
Also die Ressource DLL habe ich schon erfolgreich geladen und das XML file auch schon.
-
Dan musst Du die Resource auch unter dem Text anlegen und nicht als ID. Dazu musst Du beim erfassen der ressource den Namen in Qutes angeben.
In der kompilierten Version ist entweder nur ein Integer oder der Name drin.
Du kannst die EXE/DLL Datei ja einfach im Ressource Editor öffnen, dann kannst Du sehen, dass kein Name mehr drin ist oder nur ein Name.
-
Danke für Deine Hilfe.
Hat funktioniert. Hab den Wert des define in der resource.h auf einen String geändert.
Funktioniert das denn auch, wenn ich die resource importiere(Dein Stichwort war ja die Quotes, dass funktionierte leider nicht)?
-
Wenn Du eine Ressource importierst dann bekommt die ersteinmal eine ID.
Ging das nicht mit den Quotes?
Zur Not mach einfaches folgendes:
Öffne die RC-Datei im Editor und Schreibe einfach den Text, den Du vergeben willst vor die Ressource. Sobald kein define vorhanden ist wird dieser Text als String verwendet.Du kannst auch einen #define selber erzeugen der auf den genünschten String verweist.