MFC CFileDialog使用
昨天,TG说要写一个保存图片的操作。虽然Halcon里提供了保存图片的函数write_image(Image : : Format,FillColor,FileName : ) 但是仅依靠这个函数是无法实现界面友好的。因此要做出一个具有windows风格的保存操作,还是得使用MFC的东西。
CFileDialog类封装了Windows常用的文件对话框。常用的文件对话框提供了一种简单的与Windows标准相一致的文件打开和文件存盘对话框功能。
Header: afxdlgs.h
CFileDialog::CFileDialog
|
CFileDialog::GetFileExt()返回选定文件的扩展文件名
CFileDialog::GetFileName()返回选定文件的文件名
注意到write_image(ImageReduced1, "bmp", 0, "F:/视觉培训/机器视觉第1课/2.bmp");
LIntExport Herror write_image(const Halcon::Hobject &Image, const char *Format, Hlong FillColor, const char *FileName);
问题来了
1、路径中“\\”与"/"替换; fileName.Replace(L"\\",L"/");
2、LPCTSTR与Char的转换; char *file = T2A(fileName);
void COpenCamHalconDlg::OnBnClickedButtonSavePic()
{// TODO: 在此添加控件通知处理程序代码CString str;BOOL isOpen = FALSE; //是否打开(否则为保存) CString defaultDir = _T("D:\\Visual Studio 2015\\Projects\\OpenCamHalcon"); //默认打开的文件路径 CString fileName = L"test.bmp"; //默认打开的文件名 CString filter = L"位图(*.bmp)|*.bmp|jpg(*.jpg)|*.jpg||"; //文件过虑的类型 CFileDialog openFileDlg(isOpen,NULL, defaultDir+ "\\" +fileName, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, filter, NULL);INT_PTR result = openFileDlg.DoModal();if (result == IDOK) { fileName = openFileDlg.GetPathName();fileName.Replace(L"\\",L"/");switch (openFileDlg.m_ofn.nFilterIndex){case 1:filter = L"bmp";break;case 2:filter = L"jpeg";}USES_CONVERSION;char *file = T2A(fileName);char *filterCH = T2A(filter); write_image(Image, filterCH, 0, file);}
}
MFC CFileDialog使用相关推荐
- MFC CFileDialog使用整理
MFC CFileDialog使用整理 1.CFileDialog构造函数 CFileDialog:CFileDialog(BOOL bOpenFileDialog, LPCTSTR ...
- MFC CFileDialog 相对路径
1)在mfc中想按照自己设定的路径来打开fileDialog,其实CFileDialog有自己的变量 m_ofn,该变量为OPENFILENAME的结构体,用户可自己定义一些内容 例如 打开窗体的名字 ...
- 使用c++进行Windows编程中各种操作文件的方法 【转】
https://www.zhaokeli.com/article/8232.html 使用c++进行Windows编程中各种操作文件的方法 [转] 来源:赵克立博客 分类: C/C++ 标签:--发布 ...
- VC++图像存取总结
使用GDI+的MFC应用程序的文件打开和保存对话框 文章概要:CGdiplusFileOpenDialog和CGdiplusFileSaveAsDialog类提供了一个 在GDI+的MFC应用程序轻松 ...
- Windows编程中各种操作文件的方法
windows编程中文件操作有以下几种常见方法: 1.C语言中文件操作. 2.C++语言中的文件操作. 3.Win32 API函数文件操作. 4.MFC CFile类文件操作. 5.MFC CFile ...
- MFC中利用CFileDialog选择文件并读取文件所遇到的问题和解决方法
在用MFC编写一个上位机时,需要实现选择和读取一个二进制文件,本来以为很简单的但是在实现过程中遇到很多问题,所幸都一一解决,这里做一下记录. 首先在实现文件选择,在界面上设置一个按钮,并在点击事件函数 ...
- MFC调用CFileDialog之后目录居然会改变,调试了好久终于发现是这个问题
MFC调用CFileDialog之后目录居然会改变,调试了好久终于发现是这个问题,上网搜了下,发现也有人和我出现相同的问题.他的博客如下: http://www.programlife.net/cur ...
- mfc 监控文件操作_实战经验:使用CFileDialog实现多个文件选择
问题 最近需要实现文件选择的功能,要求是需要弹出系统标准的文件选择对话框,另外,允许用户选择多个文件. 解决方法 MFC中有一个类CFileDialog就是用来做这件事的,而且功能还挺丰富,今天只是使 ...
- MFC中的几个常用类——CFileDialog
2019独角兽企业重金招聘Python工程师标准>>> 1 简介 CFileDialog类封装了Windows常用的文件对话框.常用的文件对话框提供了一种简单的与Windows标准相 ...
最新文章
- 2019手机浏览器排名_浏览器排行榜2019年1月浏览器市场份额排名
- toolkit,phonetextbox中实现用户按回车键会换行
- leetcode算法题--完美数
- mysql连接报错Access denied for user ‘root‘@‘localhost‘
- Apache Flink 简介和编程模型
- 清华大学计算机毕业论文,清华大学毕业论文撰写要求
- 【mysql】安装 mysql 5.7 完成后,默认密码是啥?怎么查看默认密码?
- python报告 No module named 'main'错误
- batchsize大小对训练速度的影响
- For input string:
- dbcc收缩数据库_使用DBCC SHRINKFILE收缩数据库
- 微原创——好用的文章转换工具自媒体利器
- Unity3D游戏启动界面常用设置
- matlab学习增强学习,使用 MATLAB 和 Simulink 进行强化学习
- 扶桑之伤 作者:长铗
- 按键精灵html代码,按键精灵代码post和get
- word2013无法打开doc文件显示正在受保护视图中打开解决方法
- stm32之中断系统
- 官方解释:Windows Vista和OpenGL
- 802.11ax简要笔记