VC++ 6.0 XP
MDIでドキュメントクラスを2つ(CMyDocA,CMyDocB)作って、それぞれ、拡張子.a、
拡張子.bに対応させたいのですが、どのようにすればよろしいのでしょうか?
CMultiDocTemplate()を利用することは、わかったのですが、ファイル拡張子をどのよ
うに対応させるのかが、よくわかりません。ご存知の方よろしくお願いします。
CMultiDocTemplateのコンストラクタのリーソースIDでストリングリソースに書く。
http://msdn.microsoft.com/ja-jp/library/hhy2bxtf(VS.80).aspx
wclrp ( 'o')さん、レスありがとうございました。
なんとか、できました。
①リソースでストリングテーブルにリソースIDを追加する
リソースの文字列の詳細は、wclrp ( 'o')さんがのせてくれているページの
CDocTemplate::GetDocStringをクリックするとのっていました。
②BOOL C???App::InitInstance()に以下のソースを追加する
CMultiDocTemplate* pDocTemplate2;
pDocTemplate2= new CMultiDocTemplate(
IDR_BTYPE, //ストリングテーブルに追加したリソースID
RUNTIME_CLASS(CB),//CBは、CObjectが基本クラスのクラスウイザー
ドで新しく作成したクラス
RUNTIME_CLASS(CChildFrame), // カスタム MDI 子フレーム
RUNTIME_CLASS(CTest3View));
AddDocTemplate(pDocTemplate2);
③ C???App::OnFileOpen()を以下のようにオーバライドする。
{
CFileDialog wDialog (
TRUE, // TRUE: 開く FALSE: 閉じる
.bmp,
Untitled.bmp,
OFN_CREATEPROMPT,//存在しないファイル名を指定した場合、警告を発する
Bitmap Files *.bmp | *.bmp,
NULL) ;
int result = wDialog.DoModal() ;
if (result == IDOK) {
OpenDocumentFile(wDialog.GetPathName()) ;
}
}