• ベストアンサー

MFCのSDIとMDIについて

MFCを使用する場合、ダイアログベースしか使用してこなかったためMDIとSDIについてよくわかりません。 実行してみるとフォーム?エディタ?みたいなものが立ち上がりますが、あれはいったい何をするためのものなのでしょうか? 検索してみると描画とかアニメーションとかがキーワードで出てきますが絵を描くものなのですか??

質問者が選んだベストアンサー

  • ベストアンサー
  • BLK314
  • ベストアンサー率55% (84/152)
回答No.1

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

関連するQ&A