CMDIFrameWndEx::SaveMDIState

更新 : 2007 年 11 月

MDI タブ付きグループの現在のレイアウト、および以前に開いたドキュメントの一覧を保存します。

virtual BOOL SaveMDIState(
   LPCTSTR lpszProfileName 
);

パラメータ

  • [入力] lpszProfileName
    プロファイル名を指定します。

戻り値

保存に成功した場合は TRUE。保存に失敗した場合は FALSE。

解説

MDI タブとグループの状態、および開いているドキュメントの一覧を読み込むかまたは保存するには、次の操作を行います。

  • メイン フレームが閉じているときに SaveMDIState を呼び出します。

  • メイン フレームを作成しているときに CMDIFrameWndEx::LoadMDIState を呼び出します。この呼び出しは、メイン フレームが初めて表示される前に設定することをお勧めします。

  • pMainFrame->LoadFrame (IDR_MAINFRAME); の前に、CWinAppEx::EnableLoadWindowPlacement(FALSE); を呼び出します。

  • LoadMDIState の後に CWinAppEx::ReloadWindowPlacement(pMainFrame) を呼び出して、レジストリに保存された位置にメイン フレームを表示します。

  • アプリケーションがファイルとして保存されていないドキュメントを表示する場合は、CMDIChildWndEx 派生クラス内の GetDocumentName をオーバーライドします。返される文字列は、ドキュメント識別子としてレジストリに保存されます。詳細については、「CMDIChildWndEx::GetDocumentName」を参照してください。

  • CMDIFrameWndEx::CreateDocumentWindow をオーバーライドして、ドキュメントがレジストリから読み込まれるときに正しく作成されるようにします。CreateDocumentWindow へのパラメータは、以前に GetDocumentName で返された文字列です。

使用例

VisualStudioDemo サンプル : MFC Visual Studio アプリケーションSaveMDIState を使用する方法を次の例に示します。

void CMainFrame::OnClose()
{
    SaveMDIState(theApp.GetRegSectionPath());
    CMDIFrameWndEx::OnClose();
}

必要条件

ヘッダー : afxMDIFrameWndEx.h

参照

概念

MFC 階層図

参照

CMDIFrameWndEx クラス