以下のコードでは、[ファイルの保存] ダイアログが期待どおりに表示され、[保存] と [キャンセル] の 2 つのボタンが表示されます。[キャンセル] をクリックすると に戻りますがresult=IDCANCEL
、[保存] をクリックするか、Enter を入力しても からは戻りませんDoModal
。[ファイル名] ウィンドウを再描画するだけです。[保存] ボタンが機能しない理由はありますか?
// Code below is in a message handler of a modeless dialog
CString defaultExt, filter;
defaultExt = "fits";
filter = "FITS image Files (*.fits)|*.fits|All image files (*.img; *.fits)|*.img; *.fits|All Files (*.*)|*.*||";
CFileDialog dlg(FALSE/*save as*/, defaultExt, "GeneratedImage", OFN_OVERWRITEPROMPT | OFN_PATHMUSTEXIST, filter, this);
int result = (int)dlg.DoModal(); // does not return if Save is clicked
のオプション引数が の場合、動作は同じCFileDialog
ですbVistaStyle=FALSE
。
Visual Studio 2019 v16.7.7、32 ビット デバッグ ビルド、64 ビット Windows 7 でビルドおよび実行 (64 ビット Windows 10 で実行しても同じ結果)。