• ベストアンサー

MFC SDIアプリで開いているファイルを再度開く方法

お世話になります。 VC++6.0 MFCを使ってSDIアプリを開発していますが、ウィザードが生成したスケルトンのシリアライズ関数についての質問です。 このシリアライズ関数は、「ファイル」メニューの「開く」コマンドで既に開いているファイルを指定すると、呼ばれないようです。 MSDNではDeleteContents関数で開いているドキュメントを捨てれば良いように書いてありますが、サンプルコードはアロケートメモリの解放位で、どうすればシリアライズ関数を呼び出してくれるのか判りません。 ご存じな方は教えて下さい。

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

  • ベストアンサー
回答No.1

CSingleDocTemplateの派生クラスを使うか、CDocManagerの派生クラスを使うかのどちらかでしょう。 前者のほうが簡単そう。 参考)すでに開いているファイルを再オープンしたい http://www2.plala.or.jp/t-note/program/tips005.htm 参考)リロードの実装 http://homepage2.nifty.com/~chairo/html/winprog/winprog.html#section7 参考)使用中ファイルの再読み込み http://www.ne.jp/asahi/hishidama/home/tech/vcpp/reload.html

morse
質問者

お礼

早速のアドバイスありがとうございました。 CSingleDocTemplateの派生クラスを使うことに決め、教えられたURLにアクセスしてソースコードをコピペして、あっという間に確認することができました。 既に開いているファイルなら何もしないのは、MFCにとっては小さな親切かも知れませんが、こちらにとっては大きなお世話ですね。MSDNをあれこれ調べたのは何だったのでしょうね。 ありがとうございました。