ICONs fressen sich irgendwie fest
-
Vielleicht hilft das Löschen des Icon-Caches:
%USERPROFILE%\AppData\Local\IconCache.db
.
-
@MFC_TRAINEE: Ich verstehe in keiner Weise was Du meinst mit "aus der CPP laden"?
Ich lade x verschiedene Icons im TRay. Dynamisch. Da ist nichts in einem Cache...
Das Icon, dass mit LoadIcon geladen wird und im Tray für die Anzeige vorgesehen wird, das wird auch angezeigt. Wenn das Programm es ändern will geschieht das.
-
Danke für eure Antworten.
Sorry ich hab noch kaum Erfahrung und drücke mich vll etwas umständlich aus.
Also Visual Studio und MFC erstellt ja eine projekt.cpp und eine projektDlg.cpp.
Wenn das Programm gestartet wird werden erst alle Funktionen der projekt.cpp aufgerufen dann die der projektdlg.cpp.
in der projekt.cpp wird ein handle mit daten der DLL in eine Variable gespeichert und dann mit einer Funktion gesetzt. Später in der projektDlg.cpp wird dann mit LoadIcon das Icon welches sich in der DLL ist gesetzt mit der Funktion "LoadIcon(UINT)" ohne Angabe eines Handles.
Ich würde jetzt einfach gern ein ICON setzen welches sich z.b. beim Pfad C:\Benutzer\Desktop\einicon.ico befindet. Geht das irgendwie? Also damit da Icon nicht aus der DLL genommen wird?
-
LoadImage sollte dein Problem lösen mit dem laden des icon aus einer Datei
-
Vielen Dank für deinen Tip!
Ich versuche das gerade zu verstehen. Auf MSDN verstehe ich es noch nicht so richtig wo ich da den Pfad angben muss.
Beim googeln hab ich das gefunden:
http://www.cpp-tutor.de/mfc/mfc/kap7/tut/tut3.htmDas werde ich morgen probieren.
-
Entweder in LoadImage.
Oder wenn die date in die EXE eingebeutet ist hast Du eine RC Datei.
-
Danke nochmal,
aber in der .rc ist doch nur die ID und der Pfad zum Icon angeben?
-
Vielen Dank an alle!
Ich hab das jetzt soweit hinbekommen.
Jetzt hab ich nur noch 2 kleine Fragen auf die ich noch nicht richtig komme.
In jeder DLL gibt es eine ABOUTBOX. Wie kann ich hier sagen, dass er das Icon immer aus der einen Datei laden soll?
Wie wird denn im Code die Überschrift bzw. der Name des Dialogfensters gespeichtert.
Danke vielmals!!!
*HAPPY*
-
Der name ist auch in der RC-Datei.
Icons in einem Dialog kann man auch per WM_SETICON (kleines icon in der Caption) oder per STM_SETICON setzen (Icon im Diaogfeld.
Wie wäre es mal mit etwas Grundlagen lesen?
-
Ich nehme deinen Appel an, doch:
Ja ich lese Grundlagen und ich lese wirklich viel.
Hab das Buch C++ in 21 Tagen durchgemacht doch so spezielle Sachen werden irgendwie nicht behandelt. Da steht zwar wie man ein ICON ändert aber halt nicht von solchen Funktionen.
-
"C++ in 21 Tagen"?
Das hört sich nach C++ lernen an, aber nicht nach Windows API...
-
Sorry, Visual C++ ist auf MFC abgestimmt...
Aber das Programm an dem ich arbeite ist irgendwie anderst. Es greift auf .xmc Dateien zu usw. Das kann ich alles einfach noch nicht und weiß auch nicht wie ich mir das aneignen soll.
Das der Name in der .rc Datei normal steht ist mir klar doch hier mit den DLL´s ist das irgendwie anderst gemacht. Denn in den Stringtabellen finde ich kein ToolName doch der das wird verwendet. Ich versuche gerade den Code zu analysieren doch das ist nicht so einfach.