Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

MDIChildWnd's innerhalb des MainFrames positionieren (vc++ 7)

lumpi_99 / 2 Antworten / Baumansicht Nickles

hi,

ich hab ne mdi anwendung mit 2 ansichten pro dokument. ich will, dass beide ansichten den client- bereich des mainFrames jeweils zur hälfte ausfüllen. ich habs bisher versucht mit :
//-----------
CRect rMW;
theApp.GetMainWnd()->GetClientRect(rMW);

int iH = rMW.Height();

GetParentFrame()->SetWindowPos(this->GetParent(), 0, 0, 400, iH/2,
SW _SHOW);
//-----------

damit sollte eigentlich eine ansicht links oben starten, 400 breit und halb so hoch sein wie der clientbereich des mainFrame.
aber das resultierende fenster is viel zu hoch! wahrscheinlich müsste ich noch statusleiste, toolbar, menu und titelleiste abziehen.
geht das vielleicht auch irgendwie einfacher?

bei Antwort benachrichtigen
thomas woelfer lumpi_99 „MDIChildWnd's innerhalb des MainFrames positionieren (vc++ 7)“
Optionen

Für Mdi-Windows gibts da fest definierte methoden die man nur aufrufen muss damit die fenster 'passend' angezeigt wird. ich kann mich nicht mehr so besonders gut an mfc erinnnern, meine aber, das das main-window extra mdi-methoden hat.

WM_HOPETHISHELPS

this posting contains no tpyos.
bei Antwort benachrichtigen
lumpi_99 thomas woelfer „Für Mdi-Windows gibts da fest definierte methoden die man nur aufrufen muss...“
Optionen

danke für die schnelle antwort, muss mal schaun, ob ich die extra- funcs find. allerdings hab ich grad entdeckt, dass mein ansatz gar nich falsch war, ich hab nur das falche UINT gesetzt (SW_SHOW: nicht gut; SWP_NOZORDER: besser!). jetzt klappts es, auch wenns vielleicht etwas umständlich is.

bei Antwort benachrichtigen