MFCダイアログの終了判定
開発環境:VC++2008 MFCダイアログ
プロジェクト作成名:test
簡単なMFCの処理内容を勉強しています。
画像のようなダイアログベースで処理を行っており、
処理の流れは以下です。
1. "参照"で実行ファイルを選択
2. "エディットコントロール"で読み込んだディレクトリの絶対パスを表示
3. "起動"で実行を行う。
上記のプログラムにINIでの保存/読み込みを追加し、(iniは本プログラムと同階層に)
毎回、参照から読み込まなくても、次回以降は自動で変数に読み込まれるようにしようと思ってます。
そこで分からないことが2つあります。
・質問1: test.cppで閉じるボタンが押されたときに処理を行う方法
・質問2: INIの同ディレクトリに保存をtestDlg.cpp側で行う方法
質問1補足:
以下のようなOK/キャンセル処理が最初からありますが、
これらのような形式でtest.cpp側で終了判定を行いたいです。
---------------------------------------
INT_PTR nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: ダイアログが <OK> で消された時のコードを
// 記述してください。
}
else if (nResponse == IDCANCEL)
{
// TODO: ダイアログが <キャンセル> で消された時のコードを
// 記述してください。
}
---------------------------------------
ですが、私のプログラムではOK/キャンセルは使っていないので
閉じるボタンを押したとき、上記のような処理をさせることはできないでしょうか?
できるならば、そこにINIの保存処理を入れたいと思います。
質問2補足:
test.cppのCtestApp::InitInstance()にて
---------------------------------------
TCHAR path[_MAX_PATH+1];
GetModuleFileName( NULL, path, _MAX_PATH );
PathRenameExtension( path, TEXT(".ini") );
free((void*)m_pszProfileName);
m_pszProfileName=_tcsdup(path);
---------------------------------------
"本プログラムを実行したときと同じディレクトリにINIを保存する" ようにしているので
testDlg.cppでボタンを押したときに保存する処理を行うと、
保存される場所がWINDOWSファイルの方に行ってしまうため、
どうしていいかわからない状況です。
初歩的な質問ですが、何卒宜しくお願いします。
お礼
ありがとうございました。 予定していた動作にすることができました。