[多くの新規および中間ユーザーは、MDI アプリケーションの使用を学ぶのが難しいと思います。 そのため、ユーザー インターフェイスの他のモデルを検討する必要があります。 ただし、既存のモデルに簡単に適合しないアプリケーションには MDI を使用できます。
マルチドキュメント インターフェイス (MDI) は、ユーザーが複数のドキュメントを同時に操作できるようにするアプリケーションのユーザー インターフェイスを定義する仕様です。
このセクションでは
| 話題 | 形容 |
|---|---|
| 複数のドキュメント インターフェイスの について | 複数のドキュメント インターフェイスについて説明します。 |
| 複数のドキュメント インターフェイス を使用した | 複数ドキュメント インターフェイスに関連付けられているタスクを実行する方法について説明します。 |
| MDI リファレンス の | API リファレンスが含まれています。 |
MDI 関数
| 名前 | 形容 |
|---|---|
| CreateMDIWindowの | MDI 子ウィンドウを作成します。 |
| DefFrameProcの | MDI フレーム ウィンドウのウィンドウ プロシージャが処理しないウィンドウ メッセージの既定の処理を提供します。 ウィンドウ プロシージャによって明示的に処理されないすべてのウィンドウ メッセージは、DefWindowProc 関数ではなく、DefFrameProc 関数に渡す必要があります。 |
| DefMDIChildProcの | MDI 子ウィンドウのウィンドウ プロシージャが処理しないウィンドウ メッセージの既定の処理を提供します。 ウィンドウ プロシージャによって処理されないウィンドウ メッセージは、DefWindowProc 関数ではなく、DefMDIChildProc 関数に渡す必要があります。 |
| TranslateMDISysAccelをする | 指定した MDI クライアント ウィンドウに関連付けられている MDI 子ウィンドウのウィンドウ メニュー コマンドのアクセラレータ キーストロークを処理します。 この関数は、WM_KEYUP および WM_KEYDOWN メッセージを WM_SYSCOMMAND メッセージに変換し、適切な MDI 子ウィンドウに送信します。 |
MDI メッセージ
| 名前 | 形容 |
|---|---|
| WM_MDIACTIVATE | MDI クライアント ウィンドウに送信され、別の MDI 子ウィンドウをアクティブ化するようにクライアント ウィンドウに指示します。 |
| WM_MDICASCADE | MDI クライアント ウィンドウに送信され、すべての子ウィンドウがカスケード形式で配置されます。 |
| WM_MDICREATE | MDI 子ウィンドウを作成するために MDI クライアント ウィンドウに送信されます。 |
| WM_MDIDESTROY | MDI 子ウィンドウを閉じるには、MDI クライアント ウィンドウに送信されます。 |
| WM_MDIGETACTIVE | アクティブな MDI 子ウィンドウへのハンドルを取得するために、MDI クライアント ウィンドウに送信されます。 |
| WM_MDIICONARRANGE | 最小化されたすべての MDI 子ウィンドウを配置するために、MDI クライアント ウィンドウに送信されます。 最小化されていない子ウィンドウには影響しません。 |
| WM_MDIMAXIMIZE | MDI 子ウィンドウを最大化するために MDI クライアント ウィンドウに送信されます。 システムは子ウィンドウのサイズを変更して、クライアントウィンドウ全体にクライアント領域を設定します。 システムは、子ウィンドウのウィンドウ メニュー アイコンをフレーム ウィンドウのメニュー バーの右端の位置に配置し、子ウィンドウの復元アイコンを左端の位置に配置します。 また、子ウィンドウのタイトル バー テキストがフレーム ウィンドウのテキストに追加されます。 |
| WM_MDINEXT | MDI クライアント ウィンドウに送信され、次の子ウィンドウまたは前の子ウィンドウがアクティブ化されます。 |
| WM_MDIREFRESHMENU | MDI フレーム ウィンドウのウィンドウ メニューを更新するために、MDI クライアント ウィンドウに送信されます。 |
| WM_MDIRESTORE | MDI 子ウィンドウを最大化または最小化されたサイズから復元するために、MDI クライアント ウィンドウに送信されます。 |
| WM_MDISETMENU | MDI フレーム ウィンドウのメニュー全体を置き換える、フレーム ウィンドウのウィンドウ メニューを置き換える、またはその両方を行うために、MDI クライアント ウィンドウに送信されます。 |
| WM_MDITILE | MDI クライアント ウィンドウに送信され、すべての MDI 子ウィンドウがタイル形式で配置されます。 |
MDI 構造体
| 名前 | 形容 |
|---|---|
| MDICREATESTRUCT | MDI 子ウィンドウのクラス、タイトル、所有者、場所、サイズに関する情報が含まれています。 |