MFC中CFileDialog打开和保存文件对话框(转)

首先我先写一段在VC6.0上打开/保存文件对话框的程序:
    
    CString   FilePathName;//文件名参数定义
    CFileDialog  Dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"TXT Files(*.txt)|*.txt|All Files(*.*)|*.*");
     //打开文件
    if(Dlg.DoModal() == IDOK)//是否打开成功
    {
        FilePathName =  Dlg.GetPathName();//取得文件路径及文件名
        SetDlgItemText(IDC_OutPutFile,FilePathName);//在一个地址为IDC_OutPutFile的editbox中显示文件名
    }
    else//打开失败处理
    {
        //打开失败处理
        MessageBox("打开失败",NULL,MB_OK);
    }
    以上的程序就是处理一个"打开/保存文件对话框"的程序,下面我将分析这段程序,详细的说明各个参数的作用!

构造一个对象并提供相应的参数,构造函数原型如下: 
     CFileDialog Dlg( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL );
    各个参数的意义说明如下:
    bOpenFileDialog 为TRUE则显示打开文件对话框,为FALSE则显示保存文件对话框。 
    lpszDefExt 指定默认的文件扩展名。 
    lpszFileName 指定默认的文件名。 
    dwFlags 指明一些特定风格。 
    lpszFilter 是最重要的一个参数,它指明可供选择的文件类型和相应的扩展名。
    参数格式如: 
    "Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||"
    说明:文件的类型说明和扩展名间用‘|‘分隔,同种类型的文件扩展名间用‘;‘分隔,每种文件类型间用‘|‘分隔,末尾用‘||‘指明。
    
    pParentWnd 为父窗口指针。 
    创建文件对话框可以使用DoModal(),在返回后可以利用下面的函数得到用户选择: 
    CString CFileDialog::GetPathName( ) 得到完整的文件名,包括目录名和扩展名如:c: est est1.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变量。

时间: 2024-11-08 16:07:25

MFC中CFileDialog打开和保存文件对话框(转)的相关文章

弹出打开/保存文件对话框 选择文件夹对话框

打开/保存文件对话框: CFileDialog::CFileDialog( BOOL bOpenFileDialog, //为TRUE则显示打开对话框,为FALSE则显示保存对话文件对话框 LPCTSTR lpszDefExt = NULL, //默认的文件扩展名 LPCTSTR lpszFileName = NULL, //默认的文件名 DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, //设定风格 LPCTSTR lpszFilt

12.JAVA之GUI编程打开与保存文件

功能:java图形用户界面开发,练习打开保存文件 代码如下: import java.awt.FileDialog; import java.awt.Frame; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.TextArea; import java.awt.event.ActionEvent; import java.awt.event.ActionListen

win8不通过新打开窗口进行打开和保存文件,点击即显示文本内容,点击即保存文件

前面的一篇博客讲到通过打开新窗口进行打开和保存文件,这一篇则重点介绍怎样一步到位来进行打开和保存文件(这里还以.txt文本文件为例). 我们要打开.txt文本文件,无非是想要里面的文本内容,并且把其显示到页面里罢了,那我们能不能直接点击按钮就让文件的内容自动显示到页面上............ 而不需要经过打开新窗口这一步骤呢 同样,我们点击保存按钮,能不能就直接给文件命名为自己想要的名称,而且直接保存到自己想要的位置或者文件里........ 而不经过打开新窗口定位某一个具体的文件夹下这一步骤

Vim打开和保存文件-Vim使用技巧(7)

使用Vim打开和保存文件是最常用的操作,介绍使用edit命令通过文件路径来打开文件,使用write命令保存文件,当文件路径不存在或用户权限不匹配时,使用write命令调用外部shell程序完成操作. 1. edit命令打开文件 Vim命令 :edit (缩写形式为 :e) 可以通过文件的绝对路径或相对路径来打开文件. 如果想打开的文件和当前活动文件缓冲区中的文件在同一个目录里,可以使用 :edit %:h<Tab>命令. % 符号代表活动缓冲区的完整文件路径,:h 修饰符会去除路径中的文件名,

ASP.NET—016:ASP.NET中保存文件对话框

本想在asp.net中使用savediallog保存文件,结果提示:当应用程序不是以 UserInteractive 模式执行时显示模式对话框或窗口是无效操作. 在ASP.NET中使用例如以下方式.保存文件.以下样例,保存一个excel文件. Response.ContentType = @"application/x-xls"; Response.AppendHeader("Content-Disposition", "attachment; filen

MFC中CFileDialog使用方法

用CFileDialog选择了一个文件后,使用FILE::fopen打开文件错误,使用 的是相对地址.和王工调试了半天,怎么跟踪也没发现错误,原来如此. .... .. . . CFileDialog文件选择对话框的使用:首先构造一个对象并提供对应的參数,构造函数原型例如以下: CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD

MFC中CFileDialog用法

用CFileDialog选择了一个文件后,使用FILE::fopen打开文件错误,使用 的是相对地址,和王工调试了半天,怎么跟踪也没发现错误,原来如此......... CFileDialog文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下: CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlag

CommonDialog中同时打开多个文件实现(转)

在Visual Basic中,通常用CommonDialog公共对话框来选择磁盘上的文件,在其Flags属性中加上cdlOFNAllowMultiselect风 格后,就允许选择多个文件.当只选择一个文件时,其文件名(包含路径)直接返回Filename属性,那么选择多个文件时呢?如果选择了多个文件,则Filename属性返回值格式为”路径_文件名1_文件名2_…”(_为字符Chr$(0)).举一个例子,如果我们选择C: /1.txt文件,那么Filename=”C:/1.txt”:而同时选择了C

C#用openfiledialog文件和savefileDialog打开和保存文件

一.打开文件 Stream myStream = null;            OpenFileDialog openFileDialog1 = new OpenFileDialog();            openFileDialog1.InitialDirectory = "d:\\";            openFileDialog1.Filter = "ext files (*.txt)|*.txt|All files(*.*)|*>**"