弹出打开/保存文件对话框 选择文件夹对话框

打开/保存文件对话框:

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)打开文件对话框

static 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/sylar-liang/p/4122320.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/376461.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SharePoint 2013的100个新功能之网站管理(一)

一:设置盘 网站操作现在被替换为新的(设置)盘子。一些新的操作像添加一个应用、添加一个页面或设计管理器被添加而像创建网站则从菜单中移除了。 二:移除以其他用户身份登录 在SharePoint 2013中,从用户欢迎菜单中移除…

160 - 13 badboy

偷懒了很久也是时候要继续开始学习了。 环境: windows xp sp3 工具: VB Decompiler v8.3 这次是个vb文件,所以尝试一下用这个的感觉。 打开文件之后发现有两个CrackMe选择,分别是1.0版本和2.0版本。 打开vb decompiler&#…

VBS操作剪切板

VBS操作剪切板 设置剪切板的内容 Dim Form, TextBox Set Form CreateObject("Forms.Form.1") Set TextBox Form.Controls.Add("Forms.TextBox.1").Object TextBox.MultiLine True TextBox.Text "忘记了,喜欢一个人的感觉" TextBo…

MVN生成java项目

mvn archetype:create -DgroupIdcom.mycompany.app -DartifactIdmyWeb -DarchetypeArtifactIdmaven-archetype-webapp 转载于:https://www.cnblogs.com/alaricblog/p/3278239.html

160 - 14 bjanes.1

环境: window xp sp3 工具: ollydbg ,exeinfo pe 拿到程序后,查壳。显示是无壳的VB程序 用之前用的VB decompiler载入,没找到有用的东西,还是用回了OD。 OD载入,运行起来。输入“GNUBD”然后点…

小结C++中一些自带的好用东西

STL部分 <set>/<multiset> 支持插入一个元素&#xff0c;删除指定key值的元素&#xff0c;查找指定key值的元素&#xff0c;返回最大/小值&#xff0c;找前驱&#xff0c;找后继&#xff0c;返回指定key值的相同元素个数。 部分代替平衡树中一些操作。不能updata或…

160 - 15 blaster99.exe

环境&#xff1a; windows xp sp 3 工具&#xff1a; Ollydbg 和 exeinfo pe 查壳&#xff0c;还是无壳的vb程序。 打开&#xff0c;有一个nag窗口&#xff0c;点击”确认”的话才会弹出输入serial的窗口&#xff0c;点“取消”的话会关闭程序 OD载入&#xff0c;运行到弹出n…

Freemarker宏和函数的用法和区别

1.宏&#xff08;macro&#xff09;写法&#xff1a;<#macro page url page maskSize5> <#if (number pages)><li><a href"javascript:void(0);">下一页</a></li><li><a href"javascript:void(0);">尾…

聚类算法初探(八)数据尺度化问题

文中尺度化的一些具体公式可参见 http://blog.csdn.net/itplus/article/details/10088101 其他相关链接 引言 预备知识 直接聚类法 K-means DBSCAN OPTICS 聚类分析的效果评测 作者: peghoty 出处: http://blog.csdn.net/itplus/article/details/10484553 欢迎转载/分享, 但请…

160 - 16 bjanes.2

环境&#xff1a; windows xp sp3 工具&#xff1a; bjanes.2&#xff0c;HashCalc 这个和14题是一样的&#xff0c;看名字就发现都是2.0A&#xff0c;然后用HashCalc来计算一下MD5&#xff0c;发现它们的值是相同的。 如果没猜错&#xff0c;应该就是在14题是被放错题了。

HDU 1269

很水的TARJAN求强联通图的问题。 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm>using namespace std; const int N10010; const int M100010; int head[N],dfn[N],low[N],stack[N],st; struct Edge{int u,v;int nxt…

maven库文件所在目录

C:\Documents and Settings\jgzhang2\.m2\repository转载于:https://www.cnblogs.com/yipihema/p/3289140.html

imul和mul的计算

imul是把操作数符号也算上的&#xff1a; 设 AL 0B4H BL 11H 执行 imul BL 后&#xff1a;AL 0FAF4 原因&#xff1a; imul是把符号也算上的&#xff0c;所以AL是某个数的补码&#xff0c;故得AL -4C -76D&#xff0c;而BL 17D 是正数&#xff0c;相乘得-1292&#x…

【待完善】make: command not found,以及libtool.m4 and ltmain.sh have a version mismatch问题的解决方案...

之前为了使用一个库&#xff0c;都是去下载源码&#xff0c;然后根据开发者提供的README手动用GCC编译&#xff0c;一直不能使用Makefile感觉很蛋痛&#xff0c;比如最近使用的ZThread 还是怪自己以前过于依赖IDE 最近发现用Cygwin就可以使用诸如./configure, make这样的命令&a…

ubuntu 12.04 下安装 MySQL 5.5

参考&#xff1a;http://www.linuxidc.com/Linux/2011-12/48920.htm《Ubuntu 11.04 通过 apt 安装 MySQL 5.1 的全过程记录》 说明&#xff1a;在mysql官网下载ubuntu下的安装包进行安装&#xff0c;不是一件容易的事。这里不是指下载&#xff0c;而是指安装配置过程。 所以可以…

160 - 17 bjanes.3

环境&#xff1a; Wiondws XP sp3 工具&#xff1a; ollydbg&#xff0c;ExeInfo PE 查壳&#xff1a; 用Exeinfo PE 查壳&#xff0c;没有壳&#xff0c;是VB写的 过程&#xff1a; 一&#xff1a;随便输入一个serial&#xff0c;得到一个错误信息消息框&#xff0c;OD载入…

菜鸟nginx源码剖析

菜鸟nginx源码剖析 配置与部署篇&#xff08;一&#xff09; 手把手配置nginx “I love you” TCMalloc 对MYSQL 性能 优化的分析 菜鸟nginx源码剖析系列文章解读 Author&#xff1a;Echo Chen&#xff08;陈斌&#xff09; Email&#xff1a;chenb19870707gmail.com Blog&…

很有挫败感

总会时不时的怀疑自己是不是学编程的料&#xff0c;还是自己太笨&#xff1f; 自己读研前对编程可以说是一窍不通&#xff0c;虽然本科时学过C&#xff0c;但那时也只是应付考试&#xff0c;没学到什么真才实学。 幸好读研后&#xff0c;自己开始猛的补各种知识&#xff0c;开始…

160 - 18 Brad Soblesky.1

环境&#xff1a; windows xp sp3 工具&#xff1a; Ollydbg&#xff0c;exeinfope 用exeinfope查壳&#xff1a; 没有壳&#xff0c;vc编译的 运行后第一步&#xff0c;随便输入个”12345“&#xff0c;弹出一个错误消息框。 OD载入后直接搜索错误消息框的字符串&#xff0c…

汉字转拼音缩写

汉字转拼音缩写 /// 〈summary〉 /// 汉字转拼音缩写 /// Code By MuseStudiohotmail.com /// 2014-12-02 /// 〈/summary〉 /// 〈param name"str"〉要转换的汉字字符串〈/param〉 /// 〈returns〉拼音缩写〈/returns〉 public string GetPYString(string str) { s…