- ベストアンサー
MFCのSDIとMDIについて
MFCを使用する場合、ダイアログベースしか使用してこなかったためMDIとSDIについてよくわかりません。 実行してみるとフォーム?エディタ?みたいなものが立ち上がりますが、あれはいったい何をするためのものなのでしょうか? 検索してみると描画とかアニメーションとかがキーワードで出てきますが絵を描くものなのですか??
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
SDI/MDIというのはプログラムの枠組みのことです。 それ自体では、殆ど役に立ちません。 絵を描けるわけでも、ワープロの様に文書を作れるわけでもありません。 何のためにあるかというと、 プログラムの土台として使うためです。 WordやExcelの様に 新規作成or ファイルを開く => 編集 ==> 表示==> 保存 という枠組みのプログラムを作成するのに適しています。 MFCを使っているのなら C++の基礎はできていると想定します。 C++は仮想関数機構がありますよね。 これを利用すると 基本クラスでは、アルゴリズムを提供し 派生クラスで、実際の動作を定義する という風に役割分担を明快にすることができます。 MFCもこれを随所で利用しています。 その一例がSDI/MDIということができます。 SDIとMDIの違いについては、簡単に言えないです。 誤解を恐れず、大胆に言ってしまえば、 1つのファイルを開いているときに、別のファイルを開くと SDIでは元のWindowの内容が全部消えて、新たなファイルの内容で置き換わる MDIでは複数同時に開いている こんな感じでしょうか?