cfiledialog怎么用CFileDialog 选择文件夹

cfiledialog  时间:2021-07-16  阅读:()

MFC 单文档中CFileDialog的具体用法步骤

用CFileDialog dlg(FALSE,NULL,NULL,NULL,NULL);我这里也没有报错,但参数里并不是全NULL,里面有个dwFlags,默认参数并不是为NULL。

很懂cfiledialog的来一下 啊! 就是简单的,可以实现文件的打开和保存就可以;了!

打开TXT文档 void fileopen() { CFileDialog fileDlg(TRUE); fileDlg.m_ofn.lpstrTitle="我的文件打开对话框"; fileDlg.m_ofn.lpstrFilter="Text Files(*.txt)*.txtAll Files(*.*)*.*"; if(IDOK==fileDlg.DoModal()) { CFile file(fileDlg.GetFileName(),CFile::modeRead); char *pBuf; DWORD dwFileLen; dwFileLen=file.GetLength(); pBuf=new char[dwFileLen+1]; pBuf[dwFileLen]=0; file.Read(pBuf,dwFileLen); file.Close(); MessageBox(pBuf); } } 保存TXT文档 void filesave() { CFileDialog fileDlg(FALSE); fileDlg.m_ofn.lpstrTitle="我的文件保存对话框"; fileDlg.m_ofn.lpstrFilter="Text Files(*.txt)*.txtAll Files(*.*)*.*"; fileDlg.m_ofn.lpstrDefExt="txt"; if(IDOK==fileDlg.DoModal()) { CFile file(fileDlg.GetFileName(),CFile::modeCreate | CFile::modeWrite); file.Write("文件内容",strlen("文件内容")); file.Close(); } }

CFileDialog dlg(true,NULL,NULL,OFN_OVERWRITEPROMPT,"bmp(*.bmp)|*.bmp||",NULL);

CFileDialog::CFileDialog CFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL ); 参数: bOpenFileDialg 如果为TRUE, 则创建文件打开对话框;如果为FALSE,则构造一个File Save As(另存为)对话框。

lpszDefExt 缺省文件扩展名,如果用户在文件名编辑框中不包含扩展名,则lpszDefExt定义的扩展名自动加到文件名后。

如果为NULL,则不添加扩展名。

lpszFileName 初始显示于文件名编辑框中的文件名,如果为NULL,则不显示初始文件名。

dwFlags 一个或多个标志的组合,使你可定制对话框。

要了解这些标志的描述,可参阅联机文档“Win32 SDK”中的OPENFILENAME结构。

如果你改变m_ofn.Flags结构成员,在改变中用OR操作保持缺省行为完整。

lpszFilter 一列字符串对,指定可以应用到文件的过滤器。

如果指定过滤器,仅被选择的文件显示于文件列表框中。

请参阅说明部分,了解如何使用过滤器。

pParentWnd 指向文件对话框对象的父窗口或拥有者窗口。

说明: 调用此成员函数构造一个标准Windows文件对话框对象,或构造一个打开对话框或构造一个存盘对话框,根据bOpenFileDialog的值决定。

OFN_ALLOWMULTISELECT标志。

你应提供文件名缓冲区来放置返回的多个文件名的列表,这通过用一个分配了的缓冲区指针替换m_ofn.lpstrFile来实现,要在创建了CFileDialog之后调用DoModal之前进行此操作。

另外,必须用m_ofn.lpstrFile指向的缓冲区字节数来设置m_ofn.nMaxFile。

为使用户用鼠标或键盘改变一个Explorer风格对话框的大小,设置OFN_ENABLESIZING标志,这仅当你提供一个钩子进程或定制模板时才有必要设置。

此标志仅与一个Explorer风格的对话框一起工作,旧风格的对话框不可改变大小。

lpszFilter参数用于判断文件名类型及文件列表框中哪些可被显示。

双字符串的第一个字符串描述过滤器,第二个串表明使用的文件扩展名,多重扩展可用“;”来指定。

字符串由两个“|”字符结尾,最后是一个NULL。

也可使用CString对象作为参数。

例如,Mirosoft Excel 允许用户用.XLC扩展名(表)或.XLS(工作表)打开文件,Excel过滤器应如下: static char BASED_CODE szFilter[] = "Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";

调用CfileDialog时为什么说我未定义?

首先考虑是否正确添加了相关的头文件(afxdlgs.h)(应该自动添加的才对) 然后查看源文件中添加的头文件的排列顺序,这往往是导致问题的一个原因 尤其头文件之间有互相嵌套时。

提醒一下,编译错误一般只做参考,也就是出错了,但并不一定就是编译器提示的出错位置,需要根据经验和代码实际情况查看 如果我上述的提示不能解决问题,可以的话,建议你贴出部分出错代码,可以帮你辅助分析

怎么用CFileDialog 选择文件夹

不能用CFileDialog 用::SHBrowseForFolder才行 例子: BROWSEINFO bi; bi.hwndOwner=NULL; bi.pidlRoot=NULL; bi.pszDisplayName=NULL; bi.lpszTitle=NULL; bi.ulFlags=0; bi.lpfn =NULL; bi.iImage =0; LPCITEMIDLIST pidl=SHBrowseForFolder(&bi); if(!pidl) return; TCHAR szDisplayName[255]; SHGetPathFromIDList(pidl,szDisplayName); CString str(szDisplayName); MessageBox(str,NULL,MB_OK);

云步云72.5元/月起云服务器,香港安畅/葵湾/将军澳/沙田/大浦CN2机房,2核2G5M

云步云怎么样?云步云是创建于2021年的品牌,主要从事出售香港vps、美国VPS、日本VPS、香港独立服务器、香港站群服务器等,机房有香港、美国、日本东京等机房,目前在售VPS线路有CN2+BGP、CN2 GIA,香港的线路也是CN2直连大陆,该公司旗下产品均采用KVM虚拟化架构。目前,云步云提供香港安畅、沙田、大浦、葵湾、将军澳、新世界等CN2机房云服务器,2核2G5M仅72.5元/月起。点击进...

Atcloud:全场8折优惠,美国/加拿大/英国/法国/德国/新加坡vps,500g大硬盘/2T流量/480G高防vps,$4/月

atcloud怎么样?atcloud刚刚发布了最新的8折优惠码,该商家主要提供常规cloud(VPS)和storage(大硬盘存储)系列VPS,其数据中心分布在美国(俄勒冈、弗吉尼亚)、加拿大、英国、法国、德国、新加坡,所有VPS默认提供480Gbps的超高DDoS防御。Atcloud高防VPS。atcloud.net,2020年成立,主要提供基于KVM虚拟架构的VPS、只能DNS解析、域名、SS...

RAKsmart:美国圣何塞服务器限量秒杀$30/月起;美国/韩国/日本站群服务器每月189美元起

RAKsmart怎么样?RAKsmart是一家由华人运营的国外主机商,提供的产品包括独立服务器租用和VPS等,可选数据中心包括美国加州圣何塞、洛杉矶、中国香港、韩国、日本、荷兰等国家和地区数据中心(部分自营),支持使用PayPal、支付宝等付款方式,网站可选中文网页,提供中文客服支持。本月商家继续提供每日限量秒杀服务器月付30.62美元起,除了常规服务器外,商家美国/韩国/日本站群服务器、1-10...

cfiledialog为你推荐
开票系统金税盘开票系统怎么用空白代码html空格代码怎么写qq号查询怎样查找本地qq号码waves插件请问下waves9是什么东西,插件吗?暴力破解密码用什么方法才能破解别人密码暴力破解密码8位密码暴力破解要多久银联商务招聘银联商务的正式工与派遣工有啥区别疫苗之王被称为免疫之王的产品建立qq号怎样建一个QQ号postgresql命令如何学习PostgreSQL SQL语法
最好的虚拟主机 vps安全设置 asp.net主机 加勒比群岛 国外php主机 12306抢票攻略 parseerror css样式大全 服务器维护方案 国外ip加速器 银盘服务是什么 raid10 免费网络空间 阿里云邮箱申请 网络速度 数据湾 七十九刀 空间排行榜 标准机柜 linux命令vi 更多