MFC_CFileDialog_选择单一文件
场景
- 选择单一文件
技术点
- CFileDialog
CFileDialog::CFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL );参数意义如下:bOpenFileDialog 为TRUE则显示打开对话框,为FALSE则显示保存对话文件对话框。lpszDefExt 指定默认的文件扩展名。lpszFileName 指定默认的文件名。dwFlags 指明一些特定风格。lpszFilter 是最重要的一个参数,它指明可供选择的文件类型和相应的扩展名。参数格式如:_T("Image Files(*.jpg;*.png;*.bmp)|*.jpg;*.png;*.bmp|All Files (*.*)|*.*||")文件类型说明和扩展名间用 | 分隔,同种类型文件的扩展名间可以用 ; 分割,每种文件类型间用 | 分隔,末尾用 || 指明。
代码
void CMFCClistDlg::GUI_Add_Check_Dir()
{CFileDialog dlg(TRUE, _T("*.txt"),NULL, OFN_ALLOWMULTISELECT | OFN_HIDEREADONLY | OFN_FILEMUSTEXIST,_T("conf Files(*.ini;*.txt)|*.ini;*.txt|All Files (*.*)|*.*||"),NULL);dlg.m_ofn.lpstrTitle = _T("选择字典");CString filename;vector<CString> vecFilePaths;if (dlg.DoModal() == IDOK){POSITION fileNamesPosition = dlg.GetStartPosition();while (fileNamesPosition != NULL){// filename 是获取得文件名filename = dlg.GetNextPathName(fileNamesPosition);vecFilePaths.push_back(filename);}}// 计算文件路径是否为空,如果为空就是没有选择文件int count = vecFilePaths.size();if (count == 0)MessageBox(_T("没有选择文件"), NULL, MB_OK | MB_ICONQUESTION);// 把变量内容更新到对话框UpdateData(FALSE);
}
参考
MFC 中CFileDialog的用法
https://blog.csdn.net/liuwumiyuhuiping/article/details/7348591
转载于:https://www.cnblogs.com/17bdw/p/10275932.html
MFC_CFileDialog_选择单一文件相关推荐
- vs2010打不开vs2017的.sln文件,出现错误提示 “选择的文件是解决方案文件 但是用此应用程序的较新版本创建的,无法打开”
vs2010打不开vs2017的.sln文件,出现错误提示 "选择的文件是解决方案文件 但是用此应用程序的较新版本创建的,无法打开" 参考文章: (1)vs2010打不开vs201 ...
- 解决上传文件或图片时选择相同文件无法触发change事件的问题
昨天在做一个上传文件的模块时遇到了这样的问题:打开文件一上传,上传成功后再次点击文件一,change事件无反应 <input type="file" name="f ...
- centos7限制普通用户访问单一目录下的单一文件
要求给开发同事开设一个查看日志的账号,并限制其只能访问该目录下的单一文件 1.先新建账号 useradd jeecg passwd jeecg 家目录为 /home/jeecg 2.日志路径是 /op ...
- [转]将input file的选择的文件清空
本文转自:http://hi.baidu.com/xiongshihu/item/125c79b47632e794194697f5 上传文件时,选择了文件后想清空文件路径的两种办法: JS代码 < ...
- 在页面显示html文件,把选择的文件显示在页面上 #1《 HTML5:文件 API 》
在这个文件里面,我添加了一个 标签,上面有一个 .list-group 类 - 下面,我们去把用户使用 选择文件 表单元素所选择的文件的列表,显示在这个拥有 .list-group 类的 标签里面 . ...
- jquery 文件上传 触发两次_点击三次input按钮,前两次不选择任何文件,第三次选择一个文件,结果上传了3个文件,即发生了三次请求...
点击三次input按钮,前两次不选择任何文件,第三次选择一个文件,结果页面上出现了3个文件,也就是上传了3个文件 我点击input,不选择任何文件,然后取消文件选择器的窗口,然后第二次次点击input ...
- 100台服务器分发文件,通过简单shell脚本+rsync实现单一文件分发到多台服务器
如果是多台机器,可以考虑分布式文件系统或其他脚本通过来实现.该脚本仅适合通过rsync实现单一文件分发到多台服务器. vim rsync_single_web.sh #!/bin/sh webnode ...
- php打开文件对话框,JS打开选择本地文件的对话框
方法一: 在定义的form中添加以下javascript代码: { anchor : '95%', xtype: 'fileuploadfield', id: 'form-file', emptyTe ...
- 将input file的选择的文件清空的两种解决方案
将input file的选择的文件清空的两种解决方案 参考文章: (1)将input file的选择的文件清空的两种解决方案 (2)https://www.cnblogs.com/wangxueyin ...
最新文章
- WWF(Windows Workflow Foundation)开发环境的建立。 .NET 技术前瞻,WWF,Windows,Workflow,Foundation...
- win32汇编定时器简单Demo
- mybatis教程--一对多查询
- 无线路由器发起ARP攻击,致使网络中断,这是为什么?
- Go 并发编程 — 深入浅出 sync.Pool ,最全的使用姿势,最深刻的原理
- https抓包_浅谈HTTPS抓包原理,为什么Charles能够抓取HTTPS报文?
- VC如何打开代码对应的界面编辑窗口
- QQ客服代码(支持临时会话设置)
- 精细化管理设备资产,降低企业运营成本
- 系统异常日志处理的思考
- 在绩效评估中使用 360 反馈
- 简述igp和egp_IGP 和 EGP 这两类协议的主要区别是什么 - 问答库
- json文件批量转换xml
- ios 开发设置左滑退出_iOS 开发UITableView左滑出现删除按钮的运用方法
- Matlab 未找到支持的编译器或 SDK 解决方法归纳
- 【新手向】centOS 7 linux虚拟机联网具体步骤
- 如何在小米9 se(安卓9)安装Xposed框架?
- DevOps到底是什么?
- Eclipse显示空白符号的具体设置
- 修复\okldr.mbr ,状态0x000000f
热门文章
- 简述数据库事务并发机制
- pymysql 返回数据为字典形式(key:value--列:值)
- Cobertura代码覆盖率测试
- [saiku] 使用 Apache Phoenix and HBase 结合 saiku 做大数据查询分析
- struct和typedef struct用法
- Java IO ---学习笔记(数据流)
- mysql using btree_mysql 索引中的USING BTREE 的意义
- lr0文法分析表示例_详解自然语言处理(NLP)5大语义分析技术及14类应用(建议收藏)...
- python 货币合适_算法之Python实现 - 001 : 换钱的最少货币数
- awk 脚本_AWK单行代码和脚本可帮助您对文本文件进行排序