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

Hostodo(年付$34.99), 8TB月流量 3个机房可选

Hostodo 算是比较小众的海外主机商,这次九月份开学季有提供促销活动。不过如果我们有熟悉的朋友应该知道,这个服务商家也是比较时间久的,而且商家推进活动比较稳,每个月都有部分活动。目前有提供机房可选斯波坎、拉斯维加斯和迈阿密。从机房的地理位置和实际的速度,中文业务速度应该不是优化直连的,但是有需要海外业务的话一般有人选择。以前一直也持有他们家的年付12美元的机器,后来用不到就取消未续约。第一、开...

Buyvm:VPS/块存储补货1Gbps不限流量/$2起/月

BuyVM测评,BuyVM怎么样?BuyVM好不好?BuyVM,2010年成立的国外老牌稳定商家,Frantech Solutions旗下,主要提供基于KVM的VPS服务器,数据中心有拉斯维加斯、纽约、卢森堡,付费可选强大的DDOS防护(月付3美金),特色是1Gbps不限流量,稳定商家,而且卢森堡不限版权。1G或以上内存可以安装Windows 2012 64bit,无需任何费用,所有型号包括免费的...

TMThosting夏季促销:VPS月付7折,年付65折,独立服务器95折,西雅图机房

TMThosting发布了一个2021 Summer Sale活动,针对西雅图VPS主机提供月付7折优惠码,年付65折优惠码,独立服务器提供95折优惠码,本轮促销活动到7月25日。这是一家成立于2018年的国外主机商,主要提供VPS和独立服务器租用业务,数据中心包括美国西雅图和达拉斯,其中VPS基于KVM架构,都有提供免费的DDoS保护,支持选择Windows或者Linux操作系统。Budget ...

cfiledialog为你推荐
strstrc++里strstr是啥意思???rbf神经网络rbf神经网络的输入参数个数有上限么rdlcordless phone是什么意思mindmanager破解版谁有MindManager破解版的备忘录模式为什么我的华为手机界面总是有个框框在备忘录上面索引超出了数组界限什么是索引超出了数组界限inode智能客户端win7如何使用校园网iNode智能客户端丁奇王下七武海和四皇分别是谁?spawning急救!编好C++程序后(确认无误),再编译时总出现error spawning 是什么意思?是不是系统出了问题layoutsubviews如何设置plus.nativeui.toast的样式
三级域名网站 中国域名交易中心 美元争夺战 韩国电信 轻博客 镇江联通宽带 hnyd java空间 网通ip 天翼云盘 香港亚马逊 摩尔庄园注册 空间服务器 网站加速 汤博乐 九零网络 美国主机侦探 asp介绍 连连支付 rewrite规则 更多