Dialog maximieren => Buttons verschieben

JoachimJogi

Mitglied
Hallo,

wenn ich meinen Dialog maximiere, sollen bestimmte Elemente an bestimmten Position bleiben und andere eben vergrößert werden.
Zum Beispiel soll eine Art Statuszeile und Bedienknöpfe am unteren Rand bleiben, während das Textfeld in der Mitte stehts die maximale Größe annimmt.

Mein erster Gedanke war die "OnSize" Message abzufangen und darin die Größen dann zu ändern. Ist das der richtige Weg?


Mit
CRect rect;
GetClientRect(rect);
rect.top+=10;
rect.left+=10;
rect.bottom-=40;
rect.right-=10;
m_ctlBrowser.MoveWindow(rect,true);

komme ich zwar schon ganz gut hin, aber das für jeden Button zu machen ercsheint mir etwas aufwendig.

Gibt es eine Standardlösung, wie Buttons relativ zur Unterkante ihre Position behalten?

Danke!
 
Der Weg über die WM_SIZE Nachricht des Dialogs ist richtig. Leider unterstützt die MFC keine dynamischen Layouts. Da ist also für jedes Element Handarbeit angesagt, auch wenn's aufwendig wird.

Gruß
MCoder
 

Neue Beiträge

Zurück