Icon des Fensters
-
Hallo,
ich habe in meiner Resourcendatei ein Icon eingebunden:
0 ICON DISCARDABLE "APPICON.ICO"Damit hat die Exe-Datei im Explorer schonmal dieses Icon.
Aber wenn ich jetzt ein Fenster erstelle mit[...] wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(0)); [...]wird trotzdem das Standardicon (IDI_APPLICATION) angezeigt.
Als Test habe ich folgendes probiert:
in der Resourcendatei:0 ICON DISCARDABLE "APPICON.ICO" 12 ICON DISCARDABLE "APPICON.ICO"und dann
wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(12));Dann funktioniert es.. Aber ist es ja Blödsinn, ein Icon zweimal einzubinden..
Warum lädt das Fenster nicht das "0" Icon???
PS: Ich benutze MS VS2005 unter WinXP
-
Ich bin mir jetzt nicht sicher und es kann durchaus sein, dass ich da eine falsche Überlegung mache, also einfach sagen wenn ich Bullshitt erzähle

So wie ich das verstanden habe kommt einfach das standard Icon wenn du die ID das Icon auf 0 setzt. Ich denke jetzt mal, dass das standard Icon einfach schon diese ID hat und wenn du das Icon von Anfang an mit der ID 12 einbindest (oder eine höhere Zahl), dann wird es auch funzen, denke ich. Aber nagelt mich jetzt bitte nicht fest, das ist nur eine Überlegung von mir.
mit freundlichen Grüssen
Sputnik
-
Hallo,
MSVC2005 zeigt mir an, das IDI_APPLICATION ein Makro auf MAKEINTRESOURCE(32512) ist.
Außerdem muss ja das Icon die ID 0 haben, da Windows das Icon sonst nicht im Explorer anzeigt..Ich denke, dass das Standardicon immer dann kommt, wenn das Handle auf das Icon (bei mir wc.hIcon) ungültig ist..
-
Für das Icon in der Titelleiste des Fensters kannste kein normal geladenes Icon nutzen. Lad das Teil einfach mit LoadImage()...
-
Hallo,
ich habe jetzt die Lösung:man muss in der Resourcendatei angeben:
1 ICON DISCARDABLE "APPICON.ICO"und dann kann man mit
wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(1));das Icon ganz normal laden.
Der Witz dabei ist, das man als ID für das Icon nicht 0 vergeben kann..
Ich dachte immer, das der Windows Explorer bei einer EXE Datei das Icon mit ID 0 ausliest, aber anscheinend geht es auch mit ID 1..Danke für die Antworten!