• 締切済み

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ファイルの方に行ってしまうため、 どうしていいかわからない状況です。 初歩的な質問ですが、何卒宜しくお願いします。

みんなの回答

  • Dodonpa2
  • ベストアンサー率82% (19/23)
回答No.1

とりあえず、質問1だけ。ダイアログの閉じるボタンのクリック時のハンドラで EndDialogを呼び出すときに任意の値を渡せば、DoModal終了時に判定できます。

tester-goo0459
質問者

お礼

無事終了判定はできました、ありがとうございます。 ですが、いまだにいくら検索してもINIの保存がうまくいきません・・。

関連するQ&A

専門家に質問してみよう