使用下面的代码,文件保存对话框按预期显示,带有两个按钮:保存和取消。单击 Cancel 会返回result=IDCANCEL
,但单击 Save 或键入 Enter 不会返回 from DoModal
,只是重新绘制 Filename 窗口。是否有任何原因“保存”按钮不起作用?
// 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
如果 的可选参数is ,则行为是相同的bVistaStyle=FALSE
。
Visual Studio 2019 v16.7.7,32 位调试版本,在 64 位 Windows 7 上构建并运行(在 64 位 Windows 10 上运行的结果相同)。