MDI 子ウィンドウの管理
MDI メイン フレーム ウィンドウは、1 アプリケーションにつき 1 つ存在し、MDICLIENT ウィンドウと呼ばれる特殊な子ウィンドウを含んでいます。 MDICLIENT ウィンドウは、メイン フレーム ウィンドウのクライアント領域を管理し、それ自体にも子ウィンドウ、つまり CMDIChildWnd
から派生したドキュメント ウィンドウがあります。 ドキュメント ウィンドウも、それ自体フレーム ウィンドウ (MDI 子ウィンドウ) であるため、独自の子を含むことができます。 そのすべてのケースにおいて、親ウィンドウがその子ウィンドウを管理し、それらにコマンドを転送します。
MDI フレーム ウィンドウでは、フレーム ウィンドウが MDICLIENT ウィンドウを管理し、コントロール バーと共にその位置変更を行います。 同様に、MDICLIENT ウィンドウがすべての MDI 子フレーム ウィンドウを管理します。 次の図は、MDI フレーム ウィンドウとその MDICLIENT ウィンドウ、そしてその子ドキュメント フレーム ウィンドウの関係を示したものです。
MDI フレーム ウィンドウと子ウィンドウ
また、MDI フレーム ウィンドウは、MDI 子ウィンドウが 1 つしかなければ、現在の MDI 子ウィンドウと連携して動作します。 MDI フレーム ウィンドウは、コマンド メッセージを最初から自分で処理するのではなく、まずそれらを子の MDI に委任します。