MDIMultiple Document Interface (マルチ・ドキュメント・インタフェース)とは親ウィンドウ内に複数の子ウィンドウを表示して管理するグラフィカルユーザインタフェース方式である。従来のSDI方式ではドキュメントごとにアプリケーションウィンドウを必要とするため、複数のドキュメントを開く際はそれぞれにアプリケーションプロセスを起動しなければならず、メモリやリソースの消費が増えるという問題を解決するために開発された。SDIでは1つのドキュメントに対し、1つのアプリケーションウィンドウ(1つのトップレベルウィンドウ)を使用するが、MDIでは1つのドキュメントに対し、1つの子ウィンドウを使用する[1]。また、MDIのドキュメントウィンドウは親ウィンドウにロックおよびクリッピングされる。

既存のSDI形式のアプリケーションソフトウェアをMDI化するには、設計に変更を加える必要がある。

Microsoft OfficeはかつてSDIからMDI化したが、その後は再びSDIが標準となり、MDIはオプションとしてサポートされるようになった。さらに後継のバージョンでは、SDIのみがサポートされるようになっている(厳密に言うとSDIではなく後述のMTIに相当する)。

問題点

編集

一般的にMDIは開かれたウィンドウの管理が問題だとされる。SDIアプリケーションであればタスクバーなどで開かれたウィンドウの情報を一覧できるが、MDIでは通常、子ウィンドウの一覧を確認するためにユーザーがメニューなどからウィンドウ一覧表示機能を実行しなければならない。そのため近年[いつ?]のMDIアプリケーションはこの問題を解決するためタブ機能やタスクバーへの一覧表示機能を装備することでこの問題を解決するようになった。多くのMDIアプリケーションは親ウインドウとの結合・子ウインドウ分離を一括で管理される。1つをMDI化しようとすれば全てがMDI化され、ひとつを親ウインドウと結合しようとすれば全てが親ウインドウと結合される。分離・結合を個別に管理するのはOperaなどごく一部のアプリケーションのみである。MDIはタブ方式のアプリケーションと一緒くたにされる場合もあるようであり、実際タブ方式のアプリケーションと同じように使えるアプリケーションもあるが、通常タブ方式でウィンドウを管理するアプリケーションは個々を子ウィンドウ化してその大きさを変更するようなことはできない。Microsoft Visual Studio 2010以降[2][3]や、タブブラウザでは、ドキュメント/ページを表示しているタブを切り離して独立ウィンドウ化することができる。

マイクロソフトはMDI形式のアプリケーションを推奨していない[4]。また、Microsoft Foundation Class (MFC) [5]Windows Forms[6]ではMDIがサポートされているものの、後発のWindows Presentation Foundation (WPF) やWindowsランタイムではMDIがサポートされていない。

なお、タブ方式のインタフェースはTabbed Document Interface (TDI) と呼ばれる。

また、SDIに似ているが、1つのアプリケーションプロセス中で、親ウィンドウを持たない複数のトップレベルウィンドウを表示する形態をMultiple Top-level Interface (MTI) という。macOSClassic Mac OSから伝統的にこのスタイルのみを用いる。MS Officeの新しいSDIもこの形式である。ドキュメントごとにプロセスを起動しないので、メモリやリソースの消費を抑えることができる。

MDIを使用したアプリケーションの例

編集

脚注

編集

関連項目

編集

📚 Artikel Terkait di Wikipedia

タブ (GUI)

Document Interface (TDI) と呼ぶ。ウェブブラウザ、グラフィックソフトウェア、テキストエディタ、統合開発環境など、複数のドキュメントファイルを同時に開いて操作することが多いアプリケーションにおいて、ドキュメントを切り替えるのに便利であり、Multiple Document Interface

Notepad2

の間での改行コード変換 正規表現による検索・置換 元々メモ帳の代替となることを意図しているため、今後大幅な機能拡張がされる予定はない。例えば、Multiple Document Interface に対応する予定はない。また、英語以外に対応する予定もない。 テキストエディタの一覧 Scintilla ^ Notepad2

グラフィカルユーザインタフェース

る。他のアプリケーションのウィンドウと突き合わせて利用できるが、その分だけ、ウィンドウの数が多くなり、管理が繁雑になる。 Multiple Document Interface (MDI) ひとつのウィンドウ内に入れ子状にウィンドウが表示され、複数のデータ管理を行う方式。この場合は、ウィンドウ管理

Konqueror

このアプリケーションはTabbed Document Interfaceを使っており、ウィンドウはタブで複数のドキュメントを含めることができる。Multiple Document Interfaceはサポートされていないが、同時に複数のドキュメントを見るのにウィンド

Single Document Interface

ントリとして表示されることが多いが、複数起動中はまとめて表示される場合もある。例として、Mac OS Xには一時的に全てのウィンドウを一覧するExposéがあった。 グラフィカルユーザインタフェース Multiple Document Interface タブ (GUI) タブブラウザ 表示 編集

タブブラウザ

雑にさせるだけでなく、表示させているウィンドウによってメモリリソースも大量に消費してしまうことになる。 これを避けるためにMultiple Document Interface(MDI)の原理を利用して考案されたのがタブブラウザである。1つのウィンドウ上でウェブページを1ページ1タブ単位での複数表

Dana

ユーザインタフェースとして、近年のWindowsエディタで主流のSDI (Single Document Interface) ではなく、MDI (Multiple Document Interface) を採用しているため、他のWindows用テキストエディタから移行したユーザには慣れが必要。

Mdiapp

並行、放射、同心円などのブラシスナップ機能が使える。 mdiappとは、ボーランド製のアプリケーション開発用ソフトウェアで使われるMultiple Document Interface (MDI) アプリケーションの初期名称である。 Steam版の「mdiapp+ SE」は「Manga Drawing