TCHAR chFilterData[]="NFS FILE (*.nfd)| *.nfd |ALL FILE (*.*)| *.*||";
CFileDialog dlg(TRUE,"*.nfd","*.nfd",OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,chFilterData);;
dlg.m_ofn.lpstrInitialDir = "E:\\temp\\NFsTrs\\Debug";//这里设置打开目录!
dlg.m_ofn.lpstrTitle="打开SH.nfd数据";
if(IDOK==dlg.DoModal())
strPath=dlg.GetPathName();
hFs=CreateFile(strPath ,GENERIC_READ ,FILE_SHARE_READ ,
NULL, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL | FILE_FLAG_RANDOM_ACCESS , NULL);
if( INVALID_HANDLE_VALUE == hFs )
{
AfxMessageBox("不能打开SH.nfd文件 !");
return ;
}
----------------
问题:
1.就是出现对话框之后,有时候不能够在*.nfd类型文件过滤器状态下显示*.nfd类型文件。
2.或者是第一次显示*.nfd类型文件过滤器状态后,不做选择,跳到*.*文件过滤器状态,显示所有文件,正常。但是,回头重新选*.nfd类型文件过滤器,就不能够显示*.nfd类型文件了!!!
CFileDialog dlg(TRUE,"*.nfd","*.nfd",OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,chFilterData);;
dlg.m_ofn.lpstrInitialDir = "E:\\temp\\NFsTrs\\Debug";//这里设置打开目录!
dlg.m_ofn.lpstrTitle="打开SH.nfd数据";
if(IDOK==dlg.DoModal())
strPath=dlg.GetPathName();
hFs=CreateFile(strPath ,GENERIC_READ ,FILE_SHARE_READ ,
NULL, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL | FILE_FLAG_RANDOM_ACCESS , NULL);
if( INVALID_HANDLE_VALUE == hFs )
{
AfxMessageBox("不能打开SH.nfd文件 !");
return ;
}
----------------
问题:
1.就是出现对话框之后,有时候不能够在*.nfd类型文件过滤器状态下显示*.nfd类型文件。
2.或者是第一次显示*.nfd类型文件过滤器状态后,不做选择,跳到*.*文件过滤器状态,显示所有文件,正常。但是,回头重新选*.nfd类型文件过滤器,就不能够显示*.nfd类型文件了!!!
CFileDialog dlg(TRUE,"*.nfd","*.nfd",OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,chFilterData);;
dlg.m_ofn.lpstrInitialDir = "E:\\temp\\NFsTrs\\Debug";//这里设置打开目录!
dlg.m_ofn.lpstrTitle="打开SH.nfd数据";
CString strPath;
if(IDOK==dlg.DoModal())
strPath =dlg.GetPathName();
HANDLE hFs=CreateFile(strPath ,GENERIC_READ ,FILE_SHARE_READ ,
NULL, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL | FILE_FLAG_RANDOM_ACCESS , NULL);
if( INVALID_HANDLE_VALUE == hFs )
{
AfxMessageBox("不能打开SH.nfd文件 !");
return ;
}
HANDLE hFs;
strHello.LoadString(IDS_HELLO);
cout << (LPCTSTR)strHello << endl;
TCHAR chFilterData[]="NFS FILE (*.nfd)|*.nfd| ALL FILE (*.*)|*.*||";
CFileDialog dlg(TRUE,"*.nfd","*.nfd",OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,chFilterData);;
dlg.m_ofn.lpstrInitialDir = "E:\\temp\\NFsTrs\\Debug";//这里设置打开目录!
dlg.m_ofn.lpstrTitle="打开SH.nfd数据";
if(IDOK==dlg.DoModal())
strPath=dlg.GetPathName();
hFs=CreateFile(strPath ,GENERIC_READ ,FILE_SHARE_READ ,
NULL, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL | FILE_FLAG_RANDOM_ACCESS , NULL);
if( INVALID_HANDLE_VALUE == hFs )
{
AfxMessageBox("不能打开SH.nfd文件 !");
return 1;
}我已测试通过
是空格的问题
这是MSDN的说明
TCHAR chFilterData[]="NFS FILE (*.nfd)\0*.nfd\0ALL FILE (*.*)\0*.*\0\0";