Überflüssiges Icon in Titelleiste



  • Ich erstelle in einer MFC-Anwendung einen Dialog, abgeleitet von CDialog.
    Die Grösse des Dialogs ist änderbar, daher hat er als Style WS_THICKFRAME
    und nicht das übliche DS_MODALFRAME.

    Mein Problem ist nun das "blöde" Windows-Icon das am Anfang der Titelleiste
    steht. Ich will das Ding los werden und bin dabei bisher allerdings recht
    erfolglos. 😞

    Hat irgendwer ne Idee wie ich das Icon verschwinden lassen kann.



  • Unter Eigenschaften (Dialog) das Systemmenü auf False setzen.

    Gruß



  • CTecS schrieb:

    Unter Eigenschaften (Dialog) das Systemmenü auf False setzen.

    Gruß

    Das wiederum möchte ich schon haben.



  • Mach es in den Ressourcen durchsichtig. (Der grüne Monitor.)



  • estartu schrieb:

    Mach es in den Ressourcen durchsichtig. (Der grüne Monitor.)

    Es wird zurzeit das Standard-Icon angezeigt. Dieses Windows-Fähnchen,
    das steckt natürlich nicht in meinen Resourcen. Daher kann ichs natürlich
    auch nicht transparent machen.

    Ein eigenes "unsichtbares" Icon war jetzt nicht meine gesuchte Lösung. 😃



  • Hmm, dann eben auf die komplizierte Art...
    Vielleicht geht es mit WM_NCPAINT oder so ähnlich. Einfach selber nichts hinmalen. 😉

    Oder auf WM_NCHITTEST reagieren und dort im geeigneten Fall das Systemmenü anzeigen lassen. (evtl. vorgaukeln, dass ein nicht vorhandenes Icon getroffen wurde?)



  • estartu schrieb:

    Hmm, dann eben auf die komplizierte Art...
    Vielleicht geht es mit WM_NCPAINT oder so ähnlich. Einfach selber nichts hinmalen. 😉

    Oder auf WM_NCHITTEST reagieren und dort im geeigneten Fall das Systemmenü anzeigen lassen. (evtl. vorgaukeln, dass ein nicht vorhandenes Icon getroffen wurde?)

    Boah, gibts echt keine "reguläre" Löung für das Problem.

    Da kann nem Fenster ein Icon zuweisen, kriegt aber das Default-Icon
    nicht weg. Das ist ja echt Sch..... 😞



  • Das hast du bei Microsoft (andere kenne ich nicht genug) oft. 😞
    Manches geht total einfach - anderes ist nahezu unmöglich oder nur über gewusst-wie zu erschlagen.

    Aber ich bin nicht allwissend, vielleicht schaut ja noch jemand mit dem Wissen vorbei. 🙂



  • Vielleicht hilft das?

    SetIcon(NULL,TRUE);
    

    in OnInitDialog.

    Gruß



  • CTecS schrieb:

    Vielleicht hilft das?

    SetIcon(NULL,TRUE);
    

    in OnInitDialog.

    Gruß

    Schon probiert, mit TRUE und FALSE.



  • Aich das StandardICON ist in deinem Projekt als Resource drin. Einfach mal suchen.
    Vergiss aber nicht das es verschiedene größen davon gibt. Läßt sich aber alles im Resourcen-Editor festlegen.



  • Ich meine nicht dieses Standard MFC-Icon das als Anwendungsicon vom Wizard
    eingefügt wird. Ich rede davon das bei einem modalen Dialog mit the Style
    WS_THICKFRAME so eine Windows-Fähnchen als Icon angezeigt wird.

    Ich hab nochmal die RC-Datei kontrolliert und das Ding ist 100% nicht drin.
    Ich selbst mach auch nirgends ein Load(Standard)Icon(), wahrscheinlich macht
    aber MFC das irgendwo. Ich weiss aber nicht wo ich mich dazwischenzwängen
    könnte. In PreCreateWindow() komme ich, direkt zumindest, nicht an das Icon
    dran, d.h. es ist nicht in CREATESTRUCT.



  • Eine Möglichkeit währe das ExStyle WS_EX_TOOLWINDOW, dann ist die Titelzeile etwas schaler und das Icon weg 😕

    Gruß



  • Hab ich auch schon probiert. Sieht mir aber doch ein bissel zu "schräg" aus.

    Das ganze ist ne professionelle Anwendung die schon etwas grösser ist, und
    auch reichlich andere Dialoge hat. Wenn da genau ein Dialog sichtbar anders
    aussieht als alle anderen, obwohl er nicht was revolutionär anderes macht,
    kommt das nicht so super an.


Anmelden zum Antworten