VisualBasicでのSDIフォームとMDIフォームの違い

Visual Basicプログラミング環境では、開発者は、シングルドキュメントインターフェイスやマルチドキュメントインターフェイスなど、アプリケーションのユーザーインターフェイスモデルを選択できます。 最近の多くのアプリケーションはSDIを使用していますが、複数のユーザーインターフェイスタブを使用するプログラムやアプリケーションにはMDIの方が適している場合があります。 新しいMicrosoftFoundation Class(またはMFC)を使用すると、SDIアプリケーションとMDIアプリケーションの両方を簡単に操作できます。

SDIについて

ほとんどのアプリケーションはシングルドキュメントインターフェイスを使用します。 アプリケーションの各ウィンドウには1つのドキュメントが含まれているため、ユーザーがそのアプリケーションでさらにドキュメントを開きたい場合は、新しいウィンドウを開く必要があります。 これは、VisualBasicを使用してアプリケーションを構築するときのデフォルトモードでもあります。 Windowsのメモ帳は、典型的なSDIアプリケーションの例です。

今日のビデオ

MDIについて

複数のドキュメントインターフェイスは、Windows 95より前のバージョンのWindowsで一般的でしたが、あまり一般的ではなくなりました。 MDIを使用すると、アプリケーション内の各ウィンドウは、通常はサブウィンドウに複数のドキュメントを保持します。 新しいドキュメントは既存のウィンドウ内で開き、情報は他のすべての開いているドキュメントと共有されます。 MDIアプリケーションには、Mozilla Firefoxなどのタブ付きWebブラウザが含まれ、ユーザーは同じウィンドウ内の複数のタブでドキュメントを開くことができます。

SDIの利点

SDIインターフェイスは、複数のモニターと複数の仮想デスクトップで非常にうまく機能します。 また、ユーザーは、アプリケーションに書き込む必要のある特別なコードを使用するのではなく、ネイティブのWindowsタスクバーとタスクマネージャーを使用して、開いている複数のドキュメントを切り替えることができます。

MDIの利点

MDIアプリケーションは、多くの場合、SDIプログラムよりも簡単に複数のドキュメントを処理できます。 たとえば、多くのMDIテキストエディタでは、ユーザーが同じテキストファイルを並べて開くことができます。 ウィンドウを使用すると、作業中に2番目のドキュメントの情報を簡単に比較および検索できます。 初め。

安定性とパフォーマンス

SDIアプリケーションは、MDIアプリケーションよりも堅牢でバグがない傾向があります。これは、1つのドキュメントで重大なエラーが発生しても、SDI環境内の他のドキュメントに影響を与えることはめったにないためです。 たとえば、1つのWindowsメモ帳ドキュメントがクラッシュした場合、メモ帳の他の開いているコピーは通常、クラッシュ後も存続します。 一方、Firefoxの1つのWebページが原因でブラウザがクラッシュした場合、開いているすべてのWebページがブラウザで停止します。 それでも、アプリケーションの1つのバージョンのみがメモリにロードされるため、MDIアプリケーションはSDIプログラムよりも高速に実行される傾向があります。