Austausch von Icons funktioniert im XP-Stil nicht mehr (+GDI-Probleme)

G

gerdl

Warum funktioniert der Austausch eines Icons in einem CFrameWnd mit SetClassLong (GCL_HICON) nicht, wenn unter Desktop\Ansicht der XP-Stil eingestellt ist (Icon bleibt leer)?
Hinweis: Da SetClassLong eine Betriebssystem-API-Funktion ist, ist die Programmiersprache egal.

Unter der klassischen Ansicht funktioniert alles!

Außerdem werden viel mehr GDI-Ressourcen verbraucht und beim Abschalten (hIcon==0) werden nur 1 statt 2 freigegeben...

Ich nutze schon das neuste SP2 und habe mehrere PCs getestet.

Da XP leider diese dicken blauen Titelleisten als Voreinstellung herausbringt, brauche ich eine Lösung, die bei jedem Stil funktioniert.

Andere Lösung wäre Fehler zu umgehen:

Ziel sind eigentlich sehr viele CFrameWnd's, von denen nur etwa 10 sichtbar sind. Etwa 30 verschiedene Icons gibt es. Da alle Windows Betriebssysteme nur 9999 GDI-Objekte pro EXE können, habe ich versucht die Icons der unsichtbaren Fenster freizugeben. Das hat auch mit SetClassLong funktioniert, bis Microsoft diesen XP-Stil einführte...

Wenn es wirklich ein Bug sein sollte, dann müsste man doch was dagegen unternehmen können - oder?
 
Zuletzt bearbeitet von einem Moderator:
Zurück