Fenstergröße fixieren



  • Hi,

    leider finde ich nix dazu im MSDN.

    Es scheint hierführ keinen dokumentierten Window-Style oder ExWindow-Style zu geben. Trotzdem gibt's doch genug Fenster, deren Größe man nicht ändern kann, oder? 🙂

    Wer weiß was?



  • Als eigenschaft:

    WS_OVERLAPPED or WS_SYSMENU
    

    eventuell was weiteres hinzufügen was man braucht.
    Ich persönlich bevorzuge sowieso dialoge - mit

    STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | 
        WS_CAPTION | WS_SYSMENU
    EXSTYLE WS_EX_CLIENTEDGE
    

    und mit einem zusätlichem

    MENU IDR_MENU1
    

    hat man sogar ein Dialog mit menü 😉



  • Hi,
    wenn du verhindern willst, dass die Groesse des Fensters geaendert wird, kannst du einfach den Eintrag aus dem System Menü loeschen:

    HMENU SysMenu = GetSystemMenu(Wnd, 0);
    	if (!SysMenu) return 0;
    RemoveMenu(SysMenu, SC_SIZE, MF_BYCOMMAND);
    

    Das geht auch mit den anderen Eintraegen, beispielsweise SC_MOVE entfernen, um das Ziehen des Fensters mit der Maus zu unterbinden.

    Gruss,
    DeSoVoDaMu



  • Danke! 🙂



  • ClickMe schrieb:

    Es scheint hierführ keinen dokumentierten Window-Style oder ExWindow-Style zu geben.

    Der Schein trügt 😉
    WS_THICKFRAME ist dafür verantwortlich, dass man das Fenster in der Größe verändern kann. Lass es weg und es geht nicht mehr (der Eintrag im Sysmenü ist dann natürlich auch grau).


Anmelden zum Antworten