エディタを作成しているのですが、
aaa.txtを読み込み編集して「×」ボタンを押すと
「aaa.txtへの変更を保存しますか?」
ダイアログがでます。
これをaaa.txtを読み込んでいても
「bbb.txtへの変更を保存しますか?」
ダイアログをだし、OKを押した時、bbb.txtに保存というように
したいのですが、やり方がわかりません。
「~への変更を保存しますか?」ダイアログを出す
関数をオーバーライドしてSetPathName()ですれば良いと
思うのですが・・
「~への変更を保存しますか?」ダイアログを出すイベント(関数)を
教えてください。
環境はWin2000、VC6.0 MFCです。
AfxMessageBox()かなぁ?
CDoucment::CanCloseFrame() あたりをオーバーライドしてみるとか。
私もそう思うのですが・・
そのAfxMessageBox()にファイル名を設定している
ところがわかんないのです。
AfxMessageBox()は、単にメッセージボックスを表示するだけの機能しかありません。そ
こに表示される文字列は自分で用意する必要があります。
CString str1;
str1.Format(%sを保存しますか d,SetPathName());
MessageBox( str1, ファイル保存, MB_YESNO );
こんな感じですかね
クラスウィザード→VIEWクラス→メッセージマップ→メッセージ(G)の中
から「WM_CLOSE」を選んで関数の追加をすると
OnCloseが追加されるので
これを編集してみてはいかがでしょうか
話がみえないんですけど、
ひどりさんが言われている事も踏まえて話をしているんでしょうか?
それともCDocumentクラスを使っていないのでしょうか?
ちゃっぴーさんが言われているダイアログを出す仕組みを
ちゃっぴーさん自身は理解されているんでしょうか?
>ひどりさんが言われている事も踏まえて話をしているんでしょうか?
ひどりさんの発言の直後のちゃっぴーさんの発言について言ってるのでしょうか? だとす
ると2つの発言は1分半しか空いていないので、ちゃっぴーさんはひどりさんの発言を読ま
ずに私の発言へのレスとして書いているだけの可能性があります。
皆さんレスどうもありがとうございます。
私の知りたかったのは
>CDoucment::CanCloseFrame() あたりをオーバーライド
です。
ひどりさんの意見を見ていないでレスしてましたので、
皆さんにはご迷惑おかけしました。
その後、少し忙しくなってましたので返信に時間が
かかりました。
おかげさまで解決しました。