博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1.VC弹出打开文件/保存文件/选择文件对话框
阅读量:5172 次
发布时间:2019-06-13

本文共 1904 字,大约阅读时间需要 6 分钟。

1.打开文件/保存文件 对话框:

CFileDialog::CFileDialog(        BOOL bOpenFileDialog, //为TRUE则显示打开对话框,为FALSE则显示保存对话文件对话框        LPCTSTR lpszDefExt = NULL, //默认的文件扩展名        LPCTSTR lpszFileName = NULL, //默认的文件名        DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, //设定风格        LPCTSTR lpszFilter = NULL, //列出可供选择的文件类型和相应的扩展名        CWnd* pParentWnd = NULL //父窗口句柄指针);

1>打开文件对话框

tatic TCHAR szFilter[] =    _T("Info Files (*.csv)|*.csv|")    _T("Info Files (*.txt)|*.txt|")    _T("Info Files (*.csv;*.txt)|*.csv;*.txt|");CFileDialog hFileDlg(TRUE,NULL,NULL,OFN_FILEMUSTEXIST | OFN_READONLY | OFN_PATHMUSTEXIST,szFilter,NULL);if(hFileDlg.DoModal() == IDOK){    m_path = hFileDlg.GetPathName();    UpdateData(FALSE);}

LPCTSTR lpszFilter 参数格式如:

"Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc;*.xls|All Files (*.*)|*.*||";

文件类型说明和扩展名间用 | 分隔,同种类型文件的扩展名间可以用 ; 分割,每种文件类型间用 | 分隔,末尾用 || 指明。

 

创建文件对话框可以使用DoModal(),在返回后可以利用下面的函数得到用户选择: 

CString CFileDialog::GetPathName( ) 得到完整的文件名,包括目录名和扩展名如:c:/test/test1.txt 
CString CFileDialog::GetFileName( ) 得到完整的文件名,包括扩展名如:test1.txt

 

GetPathName(); //获取单个文件路径

//多个文件获取

POSITION pos = dlg.GetStartPosition();while(pos != NULL){  m_path = dlg.GetNextPathName(pos);}

 

2>保存文件对话框

把第一个参数设置为FALSE即可,其他与1>类似。

 

3>选择文件夹对话框

CString strPath;    TCHAR szDir[MAX_PATH];    BROWSEINFO bi;        bi.hwndOwner = this->m_hWnd;    bi.pidlRoot = NULL;    bi.pszDisplayName = szDir; // 此参数如为NULL则不能显示对话框    bi.lpszTitle = _T("请选择目录");    bi.ulFlags = BIF_STATUSTEXT | BIF_USENEWUI | BIF_RETURNONLYFSDIRS;    bi.lpfn = NULL;    bi.lParam = 0;    bi.iImage = 0;    ITEMIDLIST *pidl = SHBrowseForFolder(&bi); // 调用显示选择对话框    if(pidl == NULL)    {        return;    }    // 取得文件夹路径到Buffer里    if(!SHGetPathFromIDList(pidl,szDir))    {        return;    }    else    {        strPath = szDir; // 保存为CString    }

 

转载于:https://www.cnblogs.com/SylarLiang-VC/p/5504286.html

你可能感兴趣的文章
(转)matlab练习程序(HOG方向梯度直方图)
查看>>
tableView
查看>>
Happy Great BG-卡精度
查看>>
TCP/IP 邮件的原理
查看>>
原型设计工具
查看>>
windows下的C++ socket服务器(4)
查看>>
css3 2d转换3d转换以及动画的知识点汇总
查看>>
计算机改名导致数据库链接的诡异问题
查看>>
Java8内存模型—永久代(PermGen)和元空间(Metaspace)(转)
查看>>
centos 引导盘
查看>>
Notes of Daily Scrum Meeting(12.8)
查看>>
Apriori算法
查看>>
lr_start_transaction/lr_end_transaction事物组合
查看>>
.NET CLR基本术语
查看>>
ubuntu的home目录下,Desktop等目录消失不见
查看>>
建立,查询二叉树 hdu 5444
查看>>
[Spring框架]Spring 事务管理基础入门总结.
查看>>
2017.3.24上午
查看>>
Python-常用模块及简单的案列
查看>>
LeetCode 159. Longest Substring with At Most Two Distinct Characters
查看>>