Last Updated 2002/06/04
Programming Tips Visual C++ MFC ダイアログ  索 引 
「保存しますか?」ダイアログの抑制
2002/06/04

CEditView などを使用して MFC アプリケーションを作成する.
ドキュメントに対してユーザが変更を加えると,終了時「変更を保存しますか?」のダイアログが表示される.

これは CEditView の EN_CAHNGE ハンドラが GetDocument()->SetModifiedFlag() を呼び出しているからである.

ダイアログの表示を抑制するには,
GetDocument()->SetModifiedFlag(FALSE)
をするか,自クラスに EN_CHANGE ハンドラを追加して CEditView のハンドラが呼ばれない様にする.

また,ドキュメントクラスの CanCloseFrame() をオーバーライドしてもよい.
CanCloseFrame() の他に OnFileClose() から呼ばれる可能性のある SaveModified() をオーバーライドした方がよりスマートな解決方法である.


参照
前後のTips
「保存しますか?」ダイアログの抑制

DSS ProgrammingTipsCGI Ver2.01