![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
VC++2005のMFCダイアログベースでプログラムを作成しています。
自動生成されたプログラムを何も変更しないまま実行すると、
メインのダイアログが表示されますが、
そのダイアログを表示させずに、ファイル選択ダイアログを表示させたいのです。
自分で実装しビルド実行したところ、期待動作をしましたが、
ファイル選択ダイアログを閉じた後に、画像のようなエラーが発生してしまいます。
エラーを発生させず、期待動作をさせる良い実装方法をご存知の方おられましたら、
ご教示お願い致します。
【変更実装(エラー発生)】
BOOL CtestApp::InitInstance()
{
…
CtestDlg dlg;
m_pMainWnd = &dlg;
//INT_PTR nResponse = dlg.DoModal(); //コメントアウト
dlg.OnBnClickedButton1(); //ファイル選択ダイアログを表示する関数
//if (nResponse == IDOK) //コメントアウト
//else if (nResponse == IDCANCEL) //コメントアウト
…
}
void CtestDlg::OnBnClickedButton1()
{
CFileDialog ReadDlg( TRUE, NULL, "*.txt", OFN_HIDEREADONLY | OFN_FILEMUSTEXIST,
"txtファイル(*.txt)", this );
…
}
![「メインダイアログを表示させずにファイル選」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/0/689971_5497c76c43e1e/M.jpg)
No.1ベストアンサー
- 回答日時:
ファイルダイアログを出すだけなのなら、
CtestDlgの代わりにCFileDialogにすればいいだけですよ。
CtestDlgクラスそのものがいりません。
ご回答ありがとうございます。
確かにそうですね。。ただ今回の方法としては、
CtestDlgのメンバ関数であるCFileDialogを用いた関数をコールし、
期待動作をさせるつもりでしたので、このような回りくどい方法となってしまったのです。
今確認したところ、
m_pMainWnd = &dlg;
をコメントアウトすることで期待動作させることが出来ました。
どうやらAfxWinMainの中で落ちていたようです。
アドバイスありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) Application.Dialogs(xlDialogFileDelete).Showの件 1 2023/02/22 10:02
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
- Visual Basic(VBA) シートをコピーする下記記述でダイアログを用いた記述がわかりません?( A = Dir(ThisWor 4 2022/08/22 12:26
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- その他(ソフトウェア) 特定のpremiere proのファイルが開けなくなりました。 1 2022/11/16 12:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Returnに対するGoSubがありません
-
「パス名が無効です」の発生原因
-
アクセスでイベントのロジック...
-
VBでファイルが開かれているか...
-
【COBOL】read文でエラー
-
Excel 2003 のエラーメッセージ
-
VBから参照できないCのDLLを使...
-
FTPの送信結果を検知したい
-
すでにファイルが開かれている...
-
Access2013にてドラッグ&ドロ...
-
パソコンで受信したGmailのファ...
-
EXCELのVBAでWORDが開いてある...
-
構造体をランダムファイルに書...
-
「複数の選択範囲に対して実行...
-
fgetcの返却値 EOFについて
-
fcloseで発生するエラーについて。
-
VB実行時エラー75:「パス名が...
-
FileSearchがExcel2010でできない
-
freadでデータがない場合の読込...
-
アウトルックが起動できません
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBでファイルが開かれているか...
-
batファイルでレジストリキーの...
-
Returnに対するGoSubがありません
-
VBから参照できないCのDLLを使...
-
「パス名が無効です」の発生原因
-
access テキストボックスの値取得
-
アクセスのクエリでコンパイル...
-
PowerShellを使って関連付けら...
-
freadでデータがない場合の読込...
-
【COBOL】read文でエラー
-
gccを行ってもexeファイルが生...
-
ファイルクローズ(fclose)でエ...
-
VB6 Dir関数で52エラー発生
-
ACCESS VBAでのインポート
-
NAS上のファイルの使用中が解除...
-
FTPの送信結果を検知したい
-
エクセルマクロでエラーの原因...
-
Access2013にてドラッグ&ドロ...
-
EXCELのVBAでWORDが開いてある...
-
fcloseで発生するエラーについて。
おすすめ情報