CString defaultDir = "C:\\";   //默认打开的文件路径
CString fileName = ""; //默认打开的文件名
CString filter = "文件 (*.pdf)|*.pdf||"; //文件过虑的类型
CFileDialog openFileDlg(TRUE, defaultDir, fileName, OFN_HIDEREADONLY, filter, NULL);
//openFileDlg.GetOFN().lpstrInitialDir = "E:\\FileTest\\test.doc";
INT_PTR result = openFileDlg.DoModal();
CString filePath;
if (result == IDOK) {
filePath = openFileDlg.GetPathName();
m_fileList.clear();
Pdf2Png *pdf = new Pdf2Png();
m_fileList = pdf->runPdfToPng(filePath.GetBuffer()); for (int i = 0; i < (int)m_fileList.size(); i++)
{
_cprintf("%s\n", m_fileList[i]);
}
delete pdf;
const int len = 100;
sciter::value arr[len];
for (int i = 0; i < (int)m_fileList.size(); i++)
{
arr[i] = sciter::value(m_fileList[i].GetBuffer());
}
return sciter::value(arr, m_fileList.size());
}

  

CString defaultDir = "C:\\";   //默认打开的文件路径
CString fileName = ""; //默认打开的文件名
CString filter = "文件 (*.jpg; *.jpeg; *.png; *.bmp)|*.jpg;*.jpeg;*.png;*.bmp||"; //文件过虑的类型
CFileDialog openFileDlg(TRUE, defaultDir, fileName, OFN_HIDEREADONLY | OFN_ALLOWMULTISELECT, filter, NULL);
//openFileDlg.GetOFN().lpstrInitialDir = "E:\\FileTest\\test.doc";
INT_PTR result = openFileDlg.DoModal();
CString filePath;
if (result == IDOK) {
//filePath = openFileDlg.GetPathName();
POSITION pos = openFileDlg.GetStartPosition();
while (pos != NULL)
{
filePath = openFileDlg.GetNextPathName(pos);
}
}

  保存文件路径选择

TCHAR szDir[MAX_PATH];
BROWSEINFO bi;
ITEMIDLIST *pidl;
bi.hwndOwner = this->m_hWnd;
bi.pidlRoot = NULL;
bi.pszDisplayName = szDir;//这个是输出缓冲区
bi.lpszTitle = _T("选择输出文件夹:"); //标题
bi.ulFlags = BIF_NEWDIALOGSTYLE;//使用新的界面,在win7中效果较好//BIF_RETURNONLYFSDIRS;
bi.lpfn = NULL;
bi.lParam = 0;
bi.iImage = 0;
pidl = SHBrowseForFolder(&bi);//弹出对话框
if (pidl == NULL)//点了取消,或者选择了无效的文件夹则返回NULL
return sciter::value("false"); if (SHGetPathFromIDList(pidl, szDir))
{
savePathDir = szDir;
m_root = this->get_root();
sciter::thread(thread_saveImageAndText, cutSaveInfo);
}

  

CFileDialog dlg(FALSE);///TRUE为OPEN对话框,FALSE为SAVE AS对话框
if (dlg.DoModal() == IDOK)
{
savePathDir = dlg.GetPathName();
_cprintf("%s\n", savePathDir);
}

  

MFC打开文件选择框和多选框,保存文件夹的选择,保存文件路径的选择的更多相关文章

  1. HTML--使用单选框、复选框,让用户选择

    在使用表单设计调查表时,为了减少用户的操作,使用选择框是一个好主意,html中有两种选择框,即单选框和复选框,两者的区别是单选框中的选项用户只能选择一项,而复选框中用户可以任意选择多项,甚至全选.请看 ...

  2. Selenium3自动化测试【28】单选框、复选框、下拉选择框

    Html页面中的单选按钮.复选框.下拉框均可通过WebDriver实现操做.本节结合案例一起来看看WebDriver如何操做这些控件. 同步视频知识与系列知识内容,可关注:[公众号]:柒哥测试:[WX ...

  3. Selenium2+python自动化19-单选框和复选框(radiobox、checkbox)

    本篇主要介绍单选框和复选框的操作 一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的:下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了 ...

  4. 自动化测试-15.selenium单选框与复选框状态判断

    本篇主要介绍单选框和复选框的操作 一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的:下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了 ...

  5. 2.12 单选框和复选框(radiobox、checkbox)

    2.12 单选框和复选框(radiobox.checkbox) 本篇主要介绍单选框和复选框的操作一.认识单选框和复选框    1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是 ...

  6. Selenium2学习(十五)-- 单选框和复选框(radiobox、checkbox)

    本篇主要介绍单选框和复选框的操作 一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的:下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了 ...

  7. Selenium2+python自动化19-单选框和复选框(radiobox、checkbox)【转载】

    本篇主要介绍单选框和复选框的操作 一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的:下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了 ...

  8. Selenium3+python自动化 单选框和复选框

    一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的:下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了,可以先抽他了. 二.radio和 ...

  9. Android学习使用基本界面组件(下拉框,单选框,复选框,数字转轮,滚动条)

    (一)建立单选框按钮 RadioGroup和RadioButton建立单选框按钮 字符串资源文件: <resources> <string name="app_name&q ...

  10. Android开发之使用AlertDialog创建对话框,单选框和多选框

    对话框: 对话框的icon,title,message等都可以不设置. 单选框和多选框与对话框勾选步骤基本上一致. 对话框的构建步骤: 1.使用AlertDialog类的内部类Builder类new ...

随机推荐

  1. maven学习一(HelloWorld工程)

    maven是一个出色的java工程依赖管理的工具,刚刚开始学习用maven建立一个HelloWorld工程. maven安装 $ wget http://mirrors.cnnic.cn/apache ...

  2. 郑晔谈 Java 开发:新工具、新框架、新思维【转载】【整理】

    原文地址 导语:"我很惊讶地发现,现在许多程序员讨论的内容几乎和我十多年前刚开始做 Java 时几乎完全一样.要知道,我们生存的这个行业号称是变化飞快的.其实,这十几年时间,在开发领域已经有 ...

  3. Ubuntu上安装git和创建工作区和提交文件!!!

    1.安装git: sudo apt-get install git 2.创建工作区: 创建一个文件夹,sudo mkdir 文件文件夹.告诉git这是个工作区文件夹,sudo git init 文件夹 ...

  4. 【ZH奶酪】如何用textgenrnn处理中文

    如何用textgenrnn处理中文 1. 什么是textgenrnn? textgenrnn是建立在Keras和TensorFlow之上的,可用于生成字级别和词级别文本.网络体系结构使用注意力加权来加 ...

  5. angularjs使用ui-router切换视图, 自动滚动到顶部

    ui-view Examples for autoscroll: <ui-view autoscroll/> <!-- If autoscroll present with no e ...

  6. 摄像专用的SD卡推荐

      此类SD卡主要需要满足快速写入:特别对于4K的支持,速度要有很高才能满足. 文章来源:刘俊涛的博客 欢迎关注,有问题一起学习欢迎留言.评论

  7. hdoj 2594 Simpsons’ Hidden Talents 【KMP】【求串的最长公共前缀后缀】

    Simpsons' Hidden Talents Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java ...

  8. 如何制作initrd.img文件

    2008-11-12 16:02:37    initrd.img文件是redhat,mandrake等linux发布使用的内存镜像文件.镜像中是一个微型系统.在安装系统时,将initrd.img展开 ...

  9. google全球地址

    IP Addresses of Google Global Cache www.kookle.co.nr Bulgaria 93.123.23.1 93.123.23.2 93.123.23.3 93 ...

  10. Nginx 功能模块

    一.Nginx 核心功能模块 Nginx 核心功能模块负责 Nginx 的全局应用,主要对应主配置文件的 Main 区块和 Events 区块,这里有很多 Nginx 必须的全局参数配置. Nginx ...