Last Updated 2004/07/08
Programming Tips Visual C++ MFC SDI  索 引 
子ウィンドウ作成
2004/07/08

アプリケーションに子ウィンドウを作成する.
親ウィンドウと同じようにメニューが存在してリサイズ可能にする場合は,CFrameWnd を派生させて作成する.

CFrameWnd の派生クラスや CView の派生クラスを作成したら,

    CSingleDocTemplate testTemplate(
        IDR_TESTFRAME,
        RUNTIME_CLASS(CTestDoc),
        RUNTIME_CLASS(CTestFrm),
        RUNTIME_CLASS(CTestView));
    CTestFrm *pNewFrame = 
        (CTestFrm *)testTemplate.CreateNewFrame(pDoc, NULL);
    testTemplate.InitialUpdateFrame(pNewFrame, pDoc);

としてフレームを作成する.

子ウィンドウでも親ウィンドウと同じドキュメントを使用するのであれば,pDoc には親ウィンドウのドキュメントを指定する.
NULL を指定すれば新しいドキュメントが作成される.

子ウィンドウをモーダルにするには,CreateNewFrame() の前で親ウィンドウをEnableWindow( FALSE ) にて無効にして,子ウィンドウの OnDestroy() で元に戻す.


参照
前後のTips
子ウィンドウ作成

DSS ProgrammingTipsCGI Ver2.01