MDI 子ウィンドウの管理
更新 : 2007 年 11 月
MDI アプリケーションごとに 1 つ存在する MDI メイン フレーム ウィンドウには、MDICLIENT ウィンドウと呼ばれる特別な子ウィンドウがあります。MDICLIENT ウィンドウは、メイン フレーム ウィンドウのクライアント領域を管理します。MDICLIENT ウィンドウ自身も、CMDIChildWnd から派生したドキュメント ウィンドウを子ウィンドウとして持ちます。ドキュメント ウィンドウ自身もフレーム ウィンドウ、つまり MDI 子ウィンドウなので、子ウィンドウを持つことができます。どの場合でも、親ウィンドウが子ウィンドウを管理し、コマンドを子ウィンドウに転送します。
MDI フレーム ウィンドウでは、フレーム ウィンドウが MDICLIENT ウィンドウを管理し、コントロール バーと連係して MDICLIENT ウィンドウを再配置します。MDICLIENT ウィンドウは、MDI 子フレーム ウィンドウを管理します。MDI フレーム ウィンドウ、その MDICLIENT ウィンドウ、およびその子ドキュメント フレーム ウィンドウの関係を次の図に示します。
MDI フレーム ウィンドウと子ウィンドウ
また、MDI フレーム ウィンドウは、現在、MDI 子ウィンドウがあると、その子ウィンドウとも連係します。MDI フレーム ウィンドウは、コマンド メッセージを自分で処理する前に MDI 子ウィンドウに送ります。