Layout in MFC

joerg1337

Grünschnabel
Hi Leute,

hab ein Problem: Ich habe eine GUI mit Visual C++ geschrieben. Diese möchte ich immer größtmöglich Starten, aber so das die Taskleiste nicht "übermalt" wird. Je nach Bildschirm-auflösung sollten sich die Controls auch anpassen (Top, Bottom, Left, Right). Wie kann ich dieses Layout dynamisch generieren?
Ich hab sehr viel danach gesucht aber nichts gutes Gefunden.
Es muss doch eine ganz einfache Lösung geben, denn alle Bekannten Programme sind ja nach dem Schema aufgebaut, oder?

Danke schon mal im vorraus.
Jörg
 
Hallo Jörg

Um maximiert zu starten, verwende die Methode ShowWindow(SW_SHOWMAXIMIZED); deines Hauptfensters.
Dynamische Layouts werden von der MFC leider nicht unterstützt. Das kannst du nur händisch im WM_SIZE-Nachrichtenhandler erledigen.

Gruß
MCoder
 
Ja die ShowWindow(SW_SHOWMAXIMIZED); Methode maximiert mein Fenster auf den kompletten Bildschirm und übermalt auch die Taskleiste. Das will ich aber nicht.

Bei Programmen wie z.B. der Explorer wird das ja auch nicht gemacht. Und das Layout passt sich immer an, egal wie groß das Fenster ist
 
Ja die ShowWindow(SW_SHOWMAXIMIZED); Methode maximiert mein Fenster auf den kompletten Bildschirm und übermalt auch die Taskleiste. Das will ich aber nicht.
Das passiert, wenn das Fenster keinen Maximieren-Button hat. Den müsstest du aktivieren (Fenstereigenschaften).

Und das Layout passt sich immer an, egal wie groß das Fenster ist
Bei MFC-Programmen steckt da Programmierarbeit dahinter.

Gruß
MCoder
 
Zurück