SDI / MFC Anwendung (Icons)
-
Hi,
also ich bin bald am verzweifeln. Hab jetzt bestimmt schon ne halbe Ewigkeit hier in der Suche verbracht und bin immer noch ned weiter. Es geht um folgendes.
Ich möchte das Symbol aus meiner SDI Anwendung was links oben in der Titelleiste
angezeigt wird entfernen und zudem das Icon was in der Taskleiste angezeigt wird ändern.Es gibt genau eine Icon Datei in meinen Resourcen mit divesen Größen / Farbtiefen der
einzelnen Icons. Zu dem Titelleisten Icon -> das ist dort nicht drin, ich weiß auch nicht
woher er das nimmt oder wo es erstellt wirdund das Taskbar Icon, das dürfte 16x16px sein, da habe ich schon alle einzelnen Icons
aus der ico Datei verändert aber dennoch wird nur das dumme MFC Logo angezeigt.
Lediglich das Exe Icon ändert sich wenn ich das 48x48 Icon ändereedit :
hm, habe die ico Datei im /res/ Ordner mal durch ne komplett andere mit nur einem Icon drin ausgetauscht. Das verwendet er jetzt als Exe Datei Icon... aber in der Taskbar
ist immer noch das MFC Icon und in der Titelleiste das komische Ding ist auch noch
da
-
ok das Titelleisten Icon hab ich wegbekommen, in dem ich folgenden Text in der PreCreateWindow der MainFrm.cpp eingefügt hab :
cs.style = WS_OVERLAPPED | WS_CAPTION | FWS_ADDTOTITLE;
edit :
öh ok, jetzt sind aber auch meine Minimieren und Maximieren Schaltflächen weg, super.
Füge ich manuell WS_MAXIMIZEBOX und WS_MINIMIZEBOX hinzu fügt er sie nicht ein.
Nur wenn ich WS_SYSMENU benutze, dann ist aber auch das dumme Icon wieder da...
was ne Grütze dieser Mist
-
jo, Maximize-, Minimize-Button & Icon gehören zusammen
-
Zu deinem anderen Problem: Es kann sein, dass er die Resourcen nicht neu kompiliert hat. Versuche es mal mit einem Rebuild All.
-
Alles neu Erstellen hilft leider auch nicht
Habe jetzt mal alle Icons die in der einen Icon Datei aus dem /Res/ Verzeichniss
schwarz gemalt. Trotzdem wird in der Taskleiste immer noch das bunte MFC Logo
angezeigt. Ich versteh das einfach nicht, wo nimmt er das Icon für die Titelleiste
und die Taskleiste bloß her ???Hier mal ein Mini Screenshot von dem Taskleisten & Titelleisten Icon :
http://mitglied.lycos.de/guitarpaddy/icon.jpg
http://mitglied.lycos.de/guitarpaddy/icon2.jpgDas Titelleisten Icon erscheint auch in der großen Ausführung wenn ich ALT+TAB drücke.
-
Das Problem mit den Icons hab ich jetzt nach langer Internetrecherche lösen können
in der MainFrame -> OnCreate() einfach folgendes rein :
HICON hIcon = AfxGetApp()->LoadIcon(MAKEINTRESOURCEA(IDI_ICON1)); AfxGetMainWnd()->SendMessage(WM_SETICON, TRUE, (LPARAM)hIcon);
damit setzt er das neue Icon in die Titelleiste & Taskbar
-
danke dass du deine lösung gepostet hast ... es hat zumindest schon mal einem der genauso verzweifelt war wie du geholfen
Bei mir handelte es sich aber um eine Dialog-basierende Anwendung ... dort müssen die beiden Zeilen
HICON hIcon = AfxGetApp()->LoadIcon(MAKEINTRESOURCEA(IDR_MAINFRAME)); AfxGetMainWnd()->SendMessage(WM_SETICON, TRUE, (LPARAM)hIcon);
in die die OnInitDialog() des Hauptdialogs
mfg, TFTS