我有一个奇怪的行为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结构的文章,但我认为没有什么值得添加到现有标志中的。
你觉得会发生什么事吗?
2条答案
按热度按时间j5fpnvbx1#
对我来说,所有使用打开文件对话框的软件都会出现这种情况,我认为这只是最近出现的对话框的一个特点。
4bbkushb2#
我遇到了同样的问题,但与42个字符的文本。因为它原来不是数字的奥秘,而是你有一个“\n”在您提供的文件名?