cfiledialog可以提供一个CFileDialog类的实例吗

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

C++中 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??一列字符串对,指定可以应用到文件的过滤器。

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

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

参数格式如: "Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";文件类型说明和扩展名间用 | 分隔,同种类型文件的扩展名间可以用 ; 分割,每种文件类型间用 | 分隔,末尾用 || 指明。

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

? 要使用CFileDialog,首先用构造函数构造一个对象,当创建了一个对话框后,可以设置或修改m_ofn结构中的值来初始化对话框控件的值或状态。

初始化对话框控件后,调用DoModal成员函数显示对话框并使用户输入路径和文件。

重要函数: CString CFileDialog::GetPathName( ) 得到完整的文件名(包括目录名和扩展名)如c:/test/test1.txt? CString CFileDialog::GetFileName( ) 得到完整的文件名(包括扩展名).如test1.txt CString CFileDialog::GetExtName( ) 得到完整的文件扩展名,如txt? CString CFileDialog::GetFileTitle ( ) 得到完整的文件名,不包括目录名和扩展名,如test1? POSITION CFileDialog::GetStartPosition( ) 对于选择了多个文件的情况得到第一个文件的位置。

? CString CFileDialog::GetNextPathName( POSITION& pos ) 对于选择了多个文件的情况得到下一个文件位置,并同时返回当前文件名。

但必须已经调用过POSITION CFileDialog::GetStartPosition( )来得到最初的POSITION变量。

打开大量文件: 使用CFileDialog类并设置OFN_ALLOWMULTISELECT标志时,OPENFILENAME结构体的lpstrFile成员是一个指向用户申请分配的缓冲区,里面接受所选的路径和文件名列表,这个列表的每一项由一个NULL隔开,最末以两个NULL结束。

nMaxFile成员指明了缓冲区的大小,如果所选择的文件名的加起来的总长度超过了此值,则DoModal函数返回IDCANCEL,如果用户试图打开超过缓冲区大小的文件集的话,CommDlgExtendedError()将返回FNERR_BUFFERTOOSMALL,这时候,lpstrFile的前两个byte将会包含实际需要的缓冲区的字节数。

lpstrFile缓冲区字节数限制:??? ??? 1 在Windows 95/98/Me下只能在ANSI下使用,且没有大小限制; ??? 2 在Windows NT 4.0及更早版本下,被限制在32k字节以内; ??? 3 在Windows 2000/XP版本下,MSDN中介绍说在ANSI下32k字节,Unicode下没有限制。

但是,实际上两者都被限制在32k字节以内;

如何初始化cfiledialog对象

"文本文件(*.txt) " |*.txt|word文件(*.doc)|*.doc||" 中间多了一个双引号。

中间的双引号去掉试试。

可以提供一个CFileDialog类的实例吗

给你个打开的例子 CString str; CFileDialog dlg(TRUE); if(IDOK==dlg.DoModal()) str=dlg.GetPathName(); MessageBox(str); 就是这个意思,构造dlg对象的时候可以加更多的参数,我只是意思一下

spinservers($89/月),圣何塞10Gbps带宽服务器,达拉斯10Gbps服务器

spinservers是Majestic Hosting Solutions LLC旗下站点,主要提供国外服务器租用和Hybrid Dedicated等产品的商家,数据中心包括美国达拉斯和圣何塞机房,机器一般10Gbps端口带宽,高配置硬件,支持使用PayPal、信用卡、支付宝或者微信等付款方式。目前,商家针对部分服务器提供优惠码,优惠后达拉斯机房服务器最低每月89美元起,圣何塞机房服务器最低每月...

虎跃云-物理机16H/32G/50M山东枣庄高防BGP服务器低至550元每月!

虎跃科技怎么样?虎跃科技(虎跃云)是一家成立于2017年的国内专业服务商,专业主营云服务器和独立服务器(物理机)高防机房有着高端华为T级清洗能力,目前产品地区有:山东,江苏,浙江等多地区云服务器和独立服务器,今天虎跃云给大家带来了优惠活动,为了更好的促销,枣庄高防BGP服务器最高配置16核32G仅需550元/月,有需要的小伙伴可以来看看哦!产品可以支持24H无条件退款(活动产品退款请以活动规则为准...

ReliableSite:美国服务器租用,洛杉矶/纽约/迈阿密等机房;E3-1240V6/64GB/1TSSD,$95/月

reliablesite怎么样?reliablesite是一家于2006年成立的老牌美国主机商,主要提供独服,数据中心有迈阿密、纽约、洛杉矶等,均免费提供20Gbps DDoS防护,150TB月流量,1Gbps带宽。月付19美金可升级为10Gbps带宽。洛杉矶/纽约/迈阿密等机房,E3-1240V6/64GB内存/1TB SSD硬盘/DDOS/150TB流量/1Gbps带宽/DDOS,$95/月,...

cfiledialog为你推荐
知识库管理系统什么是知识管理查字网拐字换什么偏旁 成新字欢迎页面怎样取消“欢迎页面”?ruby语言Ruby是一种什么样的语言,主要用来做什么,现在有一家公司让我从java转ruby,我很犹豫?layoutsubviews如何设置plus.nativeui.toast的样式qq业务中心QQ业务怎么开通?银联商务招聘银联商务加钞员是正式员工吗杭州营销型网站苏州网站推广有哪些?文件系统类型文件系统的类型是FAT32 /C选项只在NTFS卷上起作用 的意思数学作业小学生的作业本有几种?
骨干网 本网站服务器在美国维护 大硬盘 国外服务器网站 59.99美元 l5520 日志分析软件 win8.1企业版升级win10 windows2003iso debian7 国外网站代理服务器 秒杀预告 gspeed 域名评估 yundun 重庆电信服务器托管 starry 上海电信测速 下载速度测试 国外免费云空间 更多