我这样用CFileDialog,但却看不到明明存在的文件。

Snailer 2005-03-02 09:43:37
假如我用CFileDialog dlg(TRUE, NULL, NULL, OFN_FILEMUSTEXIST, strFilter);
在打开框里竟然看不见c文件。用CFileDialog dlg(TRUE, NULL, NULL, NULL, NULL);可以看见的。
实在想不通。
代码如下:
static char BASED_CODE strFilter[] = "*.c";
// CFileDialog dlg(TRUE, NULL, NULL, OFN_FILEMUSTEXIST, strFilter);
CFileDialog dlg(TRUE, NULL, NULL, NULL, NULL);

HRESULT hResult;
hResult = (int)dlg.DoModal();
if(hResult != IDOK) {
return;
}
CString filename = dlg.GetFileName();

filename = dlg.GetPathName();

CFile sourceFile;

CFileException ex;

if (!sourceFile.Open(filename,
CFile::modeRead | CFile::shareDenyWrite, &ex))
{
TCHAR szError[1024];
ex.GetErrorMessage(szError, 1024);
AfxMessageBox("Couldn't open source file: ");
AfxMessageBox(szError);
return ;
}


谢谢你的帮助,如能提供相关资料更好!
...全文
189 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kudeet 2005-03-02
  • 打赏
  • 举报
回复
例如:在文件类型列表框的编辑框要显示“可执行文件(*.exe)”,而在它的下拉列表框中列出“视频文件(*.avi)、All Files(*.*)”内容,则变量定义如下:
CFileDialog m_MyOpenDialog(TRUE,"exe",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"可执行文件(*.exe) | *.exe|视频文件(*.bat) | *.bat |All Files (*.*) | *.* ||",NULL);
Snailer 2005-03-02
  • 打赏
  • 举报
回复
static char BASED_CODE strFilter[] = "*.c";

这样写是错的吗?
fengsh0317 2005-03-02
  • 打赏
  • 举报
回复
strFilter(亦即参数lpszFilter)格式不对,具体可参阅MSDN

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧