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

LayerStack$10.04/月(可选中国香港、日本、新加坡和洛杉矶)高性能AMD EPYC (霄龙)云服务器,

LayerStack(成立于2017年),当前正在9折促销旗下的云服务器,LayerStack的云服务器采用第 3 代 AMD EPYC™ (霄龙) 处理器,DDR4内存和企业级 PCIe Gen 4 NVMe SSD。数据中心可选中国香港、日本、新加坡和洛杉矶!其中中国香港、日本和新加坡分为国际线路和CN2线路,如果选择CN2线路,价格每月要+3.2美元,付款支持paypal,支付宝,信用卡等!...

丽萨主机:美国CN2 GIA精品网/KVM/9折,美国原生IP,最低27元/月

丽萨主机怎么样?丽萨主机,团队于2017年成立。成立之初主要做的是 CDN 和域名等相关业务。最近开辟新领域,新增了独立服务器出租、VPS 等业务,为了保证业务质量从一开始就选择了中美之间的 CN2 GIA 国际精品网络,三网回程 CN2 GIA,电信去程 CN2 GIA + BGP 直连智能路由,联通移动去程直连,原生IP。适合对网络要求较高的用户,同时价格也比较亲民。点击进入:丽萨主机官方网站...

BGPTO独服折优惠- 日本独服65折 新加坡独服75折

BGPTO是一家成立于2017年的国人主机商,从商家背景上是国内的K总和有其他投资者共同创办的商家,主营是独立服务器业务。数据中心包括美国洛杉矶Cera、新加坡、日本大阪和香港数据中心的服务器。商家对所销售服务器产品拥有自主硬件和IP资源,支持Linux和Windows。这个月,有看到商家BGPTO日本和新加坡机房独服正进行优惠促销,折扣最低65折。第一、商家机房优惠券码这次商家的活动机房是新加坡...

cfiledialog为你推荐
溢出隐藏overflow:hidden是什么意思?云图片简单易学画的云彩图片mindmanager破解版谁有MindManager破解版的电子日历我想做个项目 如何在电子日历中进行时间的选择tvosTVOS系统是什么?备忘录模式为什么我的华为手机界面总是有个框框在备忘录上面备忘录模式华为荣耀5X怎么在手机上新建一个备忘录php论坛怎样快速在个人电脑上建立一个自己的PHP论坛服务器?ruby语言Ruby是一种什么样的语言,主要用来做什么,现在有一家公司让我从java转ruby,我很犹豫?相似图片搜索怎么找手机上的一张相似图片?
淘宝虚拟主机 域名备案只选云聚达 sub-process 天猫双十一秒杀 英文站群 小米数据库 帽子云 流量计费 微软服务器操作系统 江苏双线服务器 空间首页登陆 新加坡空间 免费asp空间申请 工信部icp备案查询 网站加速 贵州电信 SmartAXMT800 hosting24 第八届中美互联网论坛 nic 更多