MDI Fenster maximieren
-
Hallo,
ich würde gerne in einem MDI Programm das Dokumentenfenster beim Öffnen automatisch maximieren.
Kann mir einer sagen, wie ich das einfach lösen kann.Gruss
Achim
-
im Childframe:
void CChildFrame::ActivateFrame(int nCmdShow) { nCmdShow = SW_SHOWMAXIMIZED; CMDIChildWnd::ActivateFrame(nCmdShow); }
-
NIhct immer willman ja das Maximize, sondern nur beim ersten mal.
Deshalb:
void CMainFrame::ActivateFrame(int nCmdShow) { if (!m_bActivated) { m_bActivated = TRUE; nCmdShow = SW_SHOWMAXIMIZED; } CFrameWnd::ActivateFrame(nCmdShow); }
-
@Martin Richter:
Mir ist nicht ganz klar wann ActivateFrame nochmals aufgerufen wird, ich habe meine Version mehrfach getestet (Jahrelang im Einsatz) und konnte kein ungewünschtes Verhalten feststellen.
Desweiteren auch im MSDN so angegeben:
http://msdn.microsoft.com/en-us/library/6wywwt36(VS.80).aspx
-
Du musst nur mal die Sourcen nach ActivateFrame durchsuchen

Häufigste Nutzung wird wohl sein ein bereits bestehendes Document als offen zu erkennen und den View zu aktivieren!
Siehe Code:
CDocManager::OpenDocumentFile
Wenn Du also im Explorer ein bereits offenes Dokument einer MDI Applikation noch mal doppelt anklickst, wird ActivateFrame wieder aufgerufen.Zudem wird im OLE embedding ActivateFrame extrem oft verwendet!
Schau Dir die Sourcen an...
-
Stimmt, im MFC-Source zu suchen, darauf hätte ich selbst kommen müssen.
Danke.
-
Danke Leute, ich konnte leider die Tipps zeitlich noch nicht umsetzen.
Werde es die Tage auszuprobieren.Gruss
Achim