MFC打开文件选择框和多选框,保存文件夹的选择,保存文件路径的选择
2024-10-19 03:34:17
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);
}
最新文章
- 《嫌疑人X的献身》书评
- How Tomcat works — 六、tomcat处理请求
- 简论:int i = 0
- 1009: 恺撒Caesar密码
- javascript 写职责链
- 在一个form里边同时执行搜索和 execl导出功能
- lucene4.7 分页
- Spring Bean装配方式
- hive高阶1--sql和hive语句执行顺序、explain查看执行计划、group by生成MR
- Universal USB Installer – Easy as 1 2 3
- Ubuntu 16.04 环境下配置apache2.4 + php5.6
- 003_crlf注入漏洞
- asp.net mvc 配置ckeditor4.x
- 【C】——线程引入 pthread_self 和 pthread_equal 原因 ——解决不同平台的问题!
- 001-将自己的jar提交maven中央仓
- 使用delphi 开发多层应用(二十四)KbmMW 的消息方式和创建WIB节点
- 转:Socket常用选项
- CF910B
- CF 810 D. Glad to see you!
- 【leetcode刷题笔记】Add Two Numbers
热门文章
- Chart-template
- C# 备份、还原、拷贝远程文件夹
- Spark机器学习(7):KMenas算法
- GDALSetProjection使用的一个注意事项
- 相关系数(CORRELATION COEFFICIENTS)会骗人?
- 译 5. Spring使用JDBC访问关系数据
- [ci]jenkins-slave-ssh docker容器化-自动注入key
- 物联网架构成长之路(24)-Docker练习之Compose容器编排
- Socket网络编程--小小网盘程序(2)
- GitHub网站操作