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对象的时候可以加更多的参数,我只是意思一下

新注册NameCheap账户几天后无法登录原因及解决办法

中午的时候有网友联系提到自己前几天看到Namecheap商家开学季促销活动期间有域名促销活动的,于是就信注册NC账户注册域名的。但是今天登录居然无法登录,这个问题比较困恼是不是商家跑路等问题。Namecheap商家跑路的可能性不大,前几天我还在他们家转移域名的。这里简单的记录我帮助他解决如何重新登录Namecheap商家的问题。1、检查邮件让他检查邮件是不是有官方的邮件提示。比如我们新注册账户是需...

BeerVM1GB内存/VDSps端口1GB,350元/月

beervm是一家国人商家,主要提供国内KVM VPS,有河南移动、广州移动等。现在预售湖南长沙联通vds,性价比高。湖南长沙vps(长沙vds),1GB内存/7GB SSD空间/10TB流量/1Gbps端口/独立IP/KVM,350元/月,有需要的可以关注一下。Beervm长沙联通vps套餐:长沙联通1G青春版(预售)长沙联通3G标准版(预售)长沙联通3G(预售)vCPU:1vCPU:2vCPU...

Hosteons:新上1Gbps带宽KVM主机$21/年起,AMD Ryzen CPU+NVMe高性能主机$24/年起_韩国便宜服务器

我们在去年12月分享过Hosteons新上AMD Ryzen9 3900X CPU及DDR4内存、NVMe硬盘的高性能VPS产品的消息,目前商家再次发布了产品更新信息,暂停新开100M带宽KVM套餐,新订单转而升级为新的Budget KVM VPS(SSD)系列,带宽为1Gbps端口,且配置大幅升级,目前100M带宽仅保留OpenVZ架构产品可新订购,所有原有主机不变,用户一直续费一直可用。Bud...

cfiledialog为你推荐
bff有BFF什么什么意思ioeIOE是什么意思元宝网元宝网里面的一个币是真的投资赚钱吗akflol中 akf学习还剩5次是什么意思?akfWOW的意思是什么?AKF呢?rdlregardless是什么意思arc是什么意思arcsin中arc是什么的缩写? 怎么读? ?丁奇赛尔号丁奇技能表,带等级,刷什么学习力好?vipjr大家觉得vipjr少儿英语怎么样?靠谱不数秦科技安徽数智通科技有限公司怎么样?
樊云 香港机房托管 监控宝 国内php空间 本网站在美国维护 52测评网 php空间推荐 新家坡 服务器是干什么的 网游服务器 如何安装服务器系统 江苏双线服务器 数据库空间 服务器硬件配置 双11促销 restart phpwind论坛 web服务器 此网页包含的内容将不使用安全的https 卡巴下载 更多