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);

恒创科技SonderCloud,美国VPS综合性能测评报告,美国洛杉矶机房,CN2+BGP优质线路,2核4G内存10Mbps带宽,适用于稳定建站业务需求

最近主机参考拿到了一台恒创科技的美国VPS云服务器测试机器,那具体恒创科技美国云服务器性能到底怎么样呢?主机参考进行了一番VPS测评,大家可以参考一下,总体来说还是非常不错的,是值得购买的。非常适用于稳定建站业务需求。恒创科技服务器怎么样?恒创科技服务器好不好?henghost怎么样?henghost值不值得购买?SonderCloud服务器好不好?恒创科技henghost值不值得购买?恒创科技是...

艾云年付125元圣何塞GTT,洛杉矶vps年付85元

艾云怎么样?艾云是一家去年年底成立的国人主机商家,商家主要销售基于KVM虚拟架构的VPS服务,机房目前有美国洛杉矶、圣何塞和英国伦敦,目前商家推出了一些年付特价套餐,性价比非常高,洛杉矶套餐低至85元每年,给500M带宽,可解奈飞,另外圣何塞也有特价机器;1核/1G/20G SSD/3T/2.5Gbps,有需要的朋友以入手。点击进入:艾云官方网站艾云vps促销套餐:KVM虚拟架构,自带20G的防御...

gcorelabs:CDN业务节点分布100多个国家地区,免费版提供1T/月流量

卢森堡商家gcorelabs是个全球数据中心集大成的运营者,不但提供超过32个数据中心的VPS、13个数据中心的cloud(云服务器)、超过44个数据中心的独立服务器,还提供超过100个数据中心节点的CDN业务。CDN的总带宽容量超过50Tbps,支持免费测试! Gcorelabs根据业务分,有2套后台,分别是: CDN、流媒体平台、DDoS高防业务、块存储、cloud云服务器、裸金属服务器...

cfiledialog为你推荐
显卡挖矿啥意思请问显卡爱好者口中常挂的“挖矿”是什么意思?鲁大师中的显卡挖矿指数又是什么意思?求科普!mdmMDM产品是如何获取管理终端的权限的?科来网络分析系统谁会用最新版的科来网络分析系统破解星空极速帐号和密码``!!!急急急```!!知识库管理系统如何加强知识库的管理qq号查询怎样查找本地qq号码网关和路由器的区别网关和路由器有什么区别备忘录模式华为荣耀5X怎么在手机上新建一个备忘录数秦科技天津数沃科技公司怎么样?待遇和发展如何?有人知道么?memsql易语言的msql连接怎么不成功,错哪呢?booth算法用Booth算法计算-4×3的4位补码乘法运算,要求写出每一步运算过程及运算结果 麻烦详细说明每一步的操作
Oray域名注册服务商 域名优惠码 密码泄露 圣诞促销 什么是刀片服务器 速度云 傲盾官网 美国网站服务器 网游服务器 香港亚马逊 谷歌台湾 酸酸乳 阿里云邮箱申请 睿云 htaccess 海外加速 webmin zencart安装 压力测试工具 iptables 更多