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 wird 😕

    und 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 ändere 😕

    edit :

    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.jpg

    Das 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


Anmelden zum Antworten