vc 使用CFileDialog打开或保存文件
2015-10-14 11:48
281 查看
vc 使用CFileDialog打开或保存文件
vc 使用CFileDialog打开或保存文件
今天是我的生日,也祝福自己生日快乐,以后要淡化生日。
//一。单选的“浏览文件对话框”
void one_select_file(CString &strPath,CString &strFile,BOOL open_save)
{//单选的“浏览文件对话框”
//CFileDialog第一个参数, TRUE为"打开"Open, FALSE为"另存"Save As
文件(*.csv)|*.csv|所有文件(*.*) |*.*||" );
CFileDialog fileDlg(open_save , // TRUE打开Open,FALSE保存Save As文件对话框
".csv", // 默认的打开文件的类型
strFile, // 默认打开的文件名
OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT | OFN_NOCHANGEDIR , // 单选打开
"Excel文件(*.csv)|*.csv|所有文件(*.*) |*.*||" // 打开的文件类型
);
fileDlg.m_ofn.lpstrInitialDir=strPath;//初始化路径。
if(fileDlg.DoModal() == IDOK)
{
strFile = fileDlg.GetPathName();//返回选择或输入的文件名称,
}
}
//二。多选的“浏览文件对话框”
void mul_select_file(CString strPath,CString &strFiles,CString split)
{
CFileDialog fileDlg(TRUE, // TRUE打开,FALSE保存文件对话框
".csv", // 默认的打开文件的类型
NULL, // 默认打开的文件名
OFN_ALLOWMULTISELECT|OFN_ENABLESIZING|OFN_HIDEREADONLY | OFN_NOCHANGEDIR, // 多选打开
"Excel文件(*.csv)|*.csv|所有文件(*.*) |*.*||" // 打开的文件类型
);
fileDlg.m_ofn.lpstrTitle="选择多个文件";
fileDlg.m_ofn.lpstrInitialDir=strPath.GetBuffer(0); // 设置默认路径
if (IDOK==fileDlg.DoModal())
{
CString pathName;
POSITION pos_file;
pos_file = fileDlg.GetStartPosition();
strFiles="";
while(NULL!=pos_file)
{//循环读出每个文件路径和名称
pathName=fileDlg.GetNextPathName(pos_file);
strFiles+=pathName+split;//"|";
}
}
}
//三。调用方式
void test()
{
CString strPath="c:/";
CString strFileName="my.csv";
//1. 获得要“打开”文件
one_select_file(strPath,strFileName,TRUE); //TRUE打开文件
//。。。获得文件名称后,可以在这里做“打开”,从磁盘文件获取内容
//2. 获得要“另存”文件名称
one_select_file(strPath,strFileName,FALSE); //FALSE另存文件
//。。。获得文件名称后,可以在这里做“另存”,将内容存入磁盘文件
//3. 获得选择的多个文件全名称
CString strFiles;
CString split="|";
mul_select_file(strPath,strFiles,split);
AfxMessageBox(strFiles);
}
//四 初始路径的指定
1 实际上是CFileDialog 来回切换路径,第三个参数filename若使用相对路径是找不到的,只有包含绝对路径才能找到,比如 filename=“c:\test\*.*” ,filename=“ c:\test\*.mp3” 才导向目标路径,这点要注意。
CFileDialog fd(TRUE ,NULL,filename,OFN_HIDEREADONLY ,"音频文件|*.mp3|所有文件(*.*) |*.*||");
2 为了 避免当前路径改变,则要把在CFileDialog的第四个参数dwFlags标志设置为OFN_NOCHANGEDIR
只读,隐含,覆盖写,不改变路径,最完整的方法如下:
CFileDialog fDlg(open_save ,NULL , filename , OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_NOCHANGEDIR , "波形文件(*.csv)|*.csv|所有文件(*.*) |*.*||" );
vc 使用CFileDialog打开或保存文件
今天是我的生日,也祝福自己生日快乐,以后要淡化生日。
//一。单选的“浏览文件对话框”
void one_select_file(CString &strPath,CString &strFile,BOOL open_save)
{//单选的“浏览文件对话框”
//CFileDialog第一个参数, TRUE为"打开"Open, FALSE为"另存"Save As
文件(*.csv)|*.csv|所有文件(*.*) |*.*||" );
CFileDialog fileDlg(open_save , // TRUE打开Open,FALSE保存Save As文件对话框
".csv", // 默认的打开文件的类型
strFile, // 默认打开的文件名
OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT | OFN_NOCHANGEDIR , // 单选打开
"Excel文件(*.csv)|*.csv|所有文件(*.*) |*.*||" // 打开的文件类型
);
fileDlg.m_ofn.lpstrInitialDir=strPath;//初始化路径。
if(fileDlg.DoModal() == IDOK)
{
strFile = fileDlg.GetPathName();//返回选择或输入的文件名称,
}
}
//二。多选的“浏览文件对话框”
void mul_select_file(CString strPath,CString &strFiles,CString split)
{
CFileDialog fileDlg(TRUE, // TRUE打开,FALSE保存文件对话框
".csv", // 默认的打开文件的类型
NULL, // 默认打开的文件名
OFN_ALLOWMULTISELECT|OFN_ENABLESIZING|OFN_HIDEREADONLY | OFN_NOCHANGEDIR, // 多选打开
"Excel文件(*.csv)|*.csv|所有文件(*.*) |*.*||" // 打开的文件类型
);
fileDlg.m_ofn.lpstrTitle="选择多个文件";
fileDlg.m_ofn.lpstrInitialDir=strPath.GetBuffer(0); // 设置默认路径
if (IDOK==fileDlg.DoModal())
{
CString pathName;
POSITION pos_file;
pos_file = fileDlg.GetStartPosition();
strFiles="";
while(NULL!=pos_file)
{//循环读出每个文件路径和名称
pathName=fileDlg.GetNextPathName(pos_file);
strFiles+=pathName+split;//"|";
}
}
}
//三。调用方式
void test()
{
CString strPath="c:/";
CString strFileName="my.csv";
//1. 获得要“打开”文件
one_select_file(strPath,strFileName,TRUE); //TRUE打开文件
//。。。获得文件名称后,可以在这里做“打开”,从磁盘文件获取内容
//2. 获得要“另存”文件名称
one_select_file(strPath,strFileName,FALSE); //FALSE另存文件
//。。。获得文件名称后,可以在这里做“另存”,将内容存入磁盘文件
//3. 获得选择的多个文件全名称
CString strFiles;
CString split="|";
mul_select_file(strPath,strFiles,split);
AfxMessageBox(strFiles);
}
//四 初始路径的指定
1 实际上是CFileDialog 来回切换路径,第三个参数filename若使用相对路径是找不到的,只有包含绝对路径才能找到,比如 filename=“c:\test\*.*” ,filename=“ c:\test\*.mp3” 才导向目标路径,这点要注意。
CFileDialog fd(TRUE ,NULL,filename,OFN_HIDEREADONLY ,"音频文件|*.mp3|所有文件(*.*) |*.*||");
2 为了 避免当前路径改变,则要把在CFileDialog的第四个参数dwFlags标志设置为OFN_NOCHANGEDIR
只读,隐含,覆盖写,不改变路径,最完整的方法如下:
CFileDialog fDlg(open_save ,NULL , filename , OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_NOCHANGEDIR , "波形文件(*.csv)|*.csv|所有文件(*.*) |*.*||" );
相关文章推荐
- html +CSS+div学习——第二课
- Java:Java中的同一性和等同性
- 将字符串三位一个逗号显示
- iOS 清除缓存
- jQueryEasyUI Form中参数包含submit与否的差异
- ASCII、Unicode、GBK和UTF-8字符编码的区别联系
- Unity3d 异常处理- (二)
- Android 通过Service单独进程模仿离线推送 Server Push
- LevelDB Log文件
- getElementsByName()以及获取checkbox对应文本text,
- vijosP1687 细菌总数
- C++从Txt中读取内容
- 屏幕旋转方向
- Java泛型详解
- WebService实战(二)——在Web项目中创建CXF服务
- python脚本使用SFTP下载远程计算机文件
- 关于完美洗牌问题的若干思考(扩展)
- HTML meta viewport属性说明
- 计算机视觉中的曲率尺度空间技术
- Win32 API 心得