c++ CFileDialog截断提供的文件名

vd8tlhqk  于 2023-11-19  发布在  其他
关注(0)|答案(2)|浏览(80)

我有一个奇怪的行为CFileDialog一旦打开.提供的文件名 * 看起来 * 像它已被截断,所以只有最后n个字符是可见的:
image http://ves.fijmovi.com/cpp/CFileDialog_1.jpg
只要我点击空间名称,我就可以看到整个文件名:
image http://ves.fijmovi.com/cpp/CFileDialog_2.jpg
所以它不是真的截断,只是显示的字符串的开始位置不是从开始.完整的文件名是在这种情况下36个字符长和字符串的一部分,我打开对话框时是从第21个字符到最后.我测试了一些其他的文件更长,他们也出现截断,但不是从第21个字符,而是另一个我看不出这有什么意义
这段代码已经有好几年了:

// Ask user for name and location of the ZIP
CString  OfferName = DEFAULT_ZIPFILE_NAME;
CString  File_Mask = GetString (IDS_ZIP_SELECT);

CFileDialog fileDlg (TRUE, _T("zip"), OfferName,
                     OFN_EXPLORER | OFN_HIDEREADONLY | OFN_PATHMUSTEXIST | OFN_ENABLESIZING,
                     File_Mask, pStateThread->GetThreadWindow());

CString strTitleName     = GetString (IDS_ARCHIVE_CAPTION);
fileDlg.m_ofn.lpstrTitle = strTitleName;

CString  Default_Dir = pConfig->GetTricUserKey (_T("TricSupportDir"));
fileDlg.m_ofn.lpstrInitialDir = Default_Dir;

if (fileDlg.DoModal () != IDOK) {
        //..
}

字符串
我应该为m_ofn使用一些特殊的标志吗?我在MSN上读过关于OPENFILENAME结构的文章,但我认为没有什么值得添加到现有标志中的。
你觉得会发生什么事吗?

j5fpnvbx

j5fpnvbx1#

对我来说,所有使用打开文件对话框的软件都会出现这种情况,我认为这只是最近出现的对话框的一个特点。

4bbkushb

4bbkushb2#

我遇到了同样的问题,但与42个字符的文本。因为它原来不是数字的奥秘,而是你有一个“\n”在您提供的文件名?

相关问题