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

atcloud:480G超高防御VPS低至$4/月,美国/新加坡等6机房,512m内存/1核/500g硬盘/不限流量

atcloud主要提供常规cloud(VPS)和storage(大硬盘存储)系列VPS,其数据中心分布在美国(俄勒冈、弗吉尼亚)、加拿大、英国、法国、德国、新加坡,所有VPS默认提供480Gbps的超高DDoS防御+不限流量,杜绝DDoS攻击骚扰,比较适合海外建站等相关业务。ATCLOUD.NET是一家成立于2020年的海外主机商,主要提供KVM架构的VPS产品、LXC容器化产品、权威DNS智能解...

创梦网络-江苏宿迁BGP云服务器100G高防资源,全程ceph集群存储,安全可靠,数据有保证,防护真实,现在购买7折促销,续费同价!

官方网站:点击访问创梦网络宿迁BGP高防活动方案:机房CPU内存硬盘带宽IP防护流量原价活动价开通方式宿迁BGP4vCPU4G40G+50G20Mbps1个100G不限流量299元/月 209.3元/月点击自助购买成都电信优化线路8vCPU8G40G+50G20Mbps1个100G不限流量399元/月 279.3元/月点击自助购买成都电信优化线路8vCPU16G40G+50G2...

spinservers($179/月),1Gbps不限流量服务器,双E5-2630Lv3/64GB/1.6T SSD/圣何塞机房

中秋节快到了,spinservers针对中国用户准备了几款圣何塞机房特别独立服务器,大家知道这家服务器都是高配,这次推出的机器除了配置高以外,默认1Gbps不限制流量,解除了常规机器10TB/月的流量限制,价格每月179美元起,机器自动化上架,一般30分钟内,有基本自助管理功能,带IPMI,支持安装Windows或者Linux操作系统。配置一 $179/月CPU:Dual Intel Xeon E...

cfiledialog为你推荐
httpsessionhttpsession中的SessionID是如何生成的?图片地址如何根据一张图片的地址找到它在哪发的开票系统金税盘开票系统怎么用最开放的浏览器网页浏览器有哪些啊?representspublic class是什么意思tvosTVOS系统是什么?editplus破解版手机的常用软件和ngage的破解版微信论坛手机微信论坛如何实现ruby语言公司实习让我学习RUBY语言,不知道RUBY语言发展前景怎么样,值不值的去学习。问卷星登陆你好,如果之前用微信登录了问卷星小程序,以后每次回答都不需要微信登录了吗?回答了会被知道个人信息吗
虚拟主机99idc 查询域名 北京租服务器 kvmla 电影服务器 全球付 ixwebhosting 中国智能物流骨干网 100m空间 北京双线 美国堪萨斯 网游服务器 中国电信测速网站 万网空间 石家庄服务器 空间排行榜 ncp是什么 美国vpn代理 windowsserverr2 paypal兑换 更多