CFileDialog文件选择对话框的使用:首先构造一个对象并提供相应的参数,然后判断选择的是确定按钮IDOK ,还是取消按钮IDCANCEL 。
构造函数原型如下:
CFileDialog::CFileDialog( BOOL bOpenFileDialog,
LPCTSTR lpszDefExt = NULL,
LPCTSTR lpszFileName = NULL,
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
CWnd* pParentWnd = NULL );
参数意义如下:
1 bOpenFileDialog 为TRUE则显示打开对话框,为FALSE则显示保存对话文件对话框。
2 lpszDefExt 指定默认的文件扩展名。
3 lpszFileName 指定默认的文件名。
4 dwFlags 指明一些特定风格。 有OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_ALLOWMULTISELECT
5 lpszFilter 是最重要的一个参数,它指明可供选择的文件类型和相应的扩展名。参数格式如:
"Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";文件类型说明和扩展名间用 | 分隔,同种类型文件的扩展名间可以用 ; 分割,每种文件类型间用 | 分隔,末尾用 || 指明。
例如"(*.bmp)|*.bmp|(*.gif)|*.gif|所有文件(*.*)|*.*||"
6 pParentWnd 为父窗口指针。也可用 AfxGetMainWnd()可以得到
创建文件对话框可以使用DoModal(),DoModal()返回的是IDOK和IDCANCEL ,在返回后可以利用下面的函数得到用户选择:
CFileDialog对象的成员函数
1 CString CFileDialog::GetPathName( ) 得到完整的文件名,包括目录名和扩展名如:c: est est1.txt
2 CString CFileDialog::GetFileName( ) 得到完整的文件名,包括扩展名如:test1.txt
3 CString CFileDialog::GetExtName( ) 得到完整的文件扩展名,如:txt
4 CString CFileDialog::GetFileTitle ( ) 得到完整的文件名,不包括目录名和扩展名如:test1
5 POSITION CFileDialog::GetStartPosition( ) 对于选择了多个文件的情况得到第一个文件位置。
6 CString CFileDialog::GetNextPathName( POSITION& pos ) 对于选择了多个文件的情况得到下一个文件位置,并同时返回当前文件名。但必须已经调用过POSITION CFileDialog::GetStartPosition( )来得到最初的POSITION变量。

如何进行文件操作
取得文件名
{
CString
FilePathName;
CFileDialog dlg(TRUE);///TRUE为OPEN对话框,FALSE为SAVE AS对话框
if(dlg.DoModal()==IDOK)
FilePathName=dlg.GetPathName();
}
相关信息:CFileDialog 用于取文件名的几个成员函数:
假如选择的文件是C:WINDOWSTEST.EXE
则:
(1)GetPathName();取文件名全称,包括完整路径。取回C:WINDOWSTEST.EXE
(2)GetFileTitle();取文件全名:TEST.EXE
(3)GetFileName();取回TEST
(4)GetFileExt();取扩展名EXE

打开文件
CFile file("C:HELLO.TXT",CFile::modeRead);///只读方式打开
///CFile::modeRead可改为 CFile::modeWrite(只写),CFile::modeReadWrite(读写),CFile::modeCreate(新建)
例子:
{
CFile file;
file.Open("C:HELLO.TXT",CFile::modeCreate|Cfile::modeWrite);
...
...
}

移动文件指针
file.Seek(100,CFile::begin);///从文件头开始往下移动100字节
file.Seek(-50,CFile::end);///从文件末尾往上移动50字节
file.Seek(-30,CFile::current);///从当前位置往上移动30字节
file.SeekToBegin();///移到文件头
file.SeekToEnd();///移到文件尾

读写文件
读文件:
char buffer[1000];
file.Read(buffer,1000);
写文件:
CString string("这个世界只有偏执狂才能成功");
file.Write(string,8);

关闭文件

转载于:https://www.cnblogs.com/suiyuan2011/archive/2011/08/11/2134972.html

VC++ CFileDialog文件选择对话框的构造和文件操作相关推荐

  1. cfiledialog对话框大小_文件选择对话框:CFileDialog

    程序如下: CString   FilePathName; //文件名参数定义 CFileDialog  Dlg(TRUE,NULL,NULL, OFN_HIDEREADONLY | OFN_OVER ...

  2. python表白对话框-python文件选择对话框的操作方法

    对于python的tkinter库来说,如果需要弹出文件选择框,我们需要引入一下tkinter.filedialog包,让用户直观地先择一个或者多个文件或者保存文件等操作. 常见的文件选择对话框函数有 ...

  3. python实现选择文件_python3实现文件选择对话框

    作者本人一开始准备win32ui,但是不支持python3,只是支持python2 所以采用python3自带的tk '''import win32ui dlg = win32ui.CreateFil ...

  4. python 对话框开发_python文件选择对话框的操作方法

    python文件选择对话框的操作方法 发布时间:2020-09-28 23:14:29 来源:脚本之家 阅读:76 作者:Bit_We 对于python的tkinter库来说,如果需要弹出文件选择框, ...

  5. C/C++实战001:C语言打开文件选择对话框

    我是在C/C++控制台写的打开文件选择对话框,所以很多头文件需要先进行声明,不然功能无法使用 新声明头文件: #include <windows.h> #include <ShlOb ...

  6. PDF分割器3.0-将输入文件路径修改为文件选择对话框,并打印分割和保存文件路径,以及文件分割情况

    一.PDF文件分割函数 以前已经讲过了参考PDF分割模块 二.可视化实现 在面的的文章中已经详细讲过了感兴趣的小伙伴可以参考PDF分割器2.0-可视化操作 三.文件选择对话框功能 引用"tk ...

  7. NX二次开发-UFUN文件选择对话框UF_UI_create_filebox

    NX二次开发-UFUN文件选择对话框UF_UI_create_filebox NX11+VS2013#include <uf.h> #include <uf_ui.h>UF_i ...

  8. java中实现选择文件_Java 实现文件选择对话框及功能

    时间:2018-10-02 概述:文件选择器 Java实现文件选择器,就是大家熟悉的打开文件.选择文件的对话框,本例子分为两部分来进行,一个部分是选择器对话框构建部分,另一部分是文件过滤部分,用于过滤 ...

  9. Qt 之文件选择对话框 QFileDialog

    使用系统 QFileDialog 接口 1.先 new QFileDialog ,逐项设置 #include <QFileDialog> //定义文件对话框类QFileDialog *fi ...

最新文章

  1. php 转义 回车 空格 file put content,为什么在服务器上php里执行file_put_contents创建文件返回是false呢,文件目录已经设置为777的权限了,不解...
  2. VMware下安装的CentOS 7如何配置IP地址并能与Windows物理机ping通
  3. C# 线程手册 第三章 使用线程
  4. triu--上三角矩阵的抽取
  5. 前端DevOps之PageSpeed Insights
  6. [MATLAB调试笔记]Update the electric field in one step
  7. bgi::detail::is_valid用法的测试程序
  8. DataGridView的DataGridViewComboBoxColumn列点击一次
  9. Oracle查询转换之连接谓词推入
  10. GitHub 2019年度报告,用户超4000万
  11. 数据结构思维导图汇总
  12. 24.1 新建集成库工程
  13. SCM供应链管理系统解决方案:实现供应可视化、管理信息化,成本可控化
  14. IT计算机实习:JAVA实习报告范文(三)
  15. Git 基础命令与事件详解(基础版)
  16. Java实现对已有的PDF添加页码 加 总页码(二)
  17. 今日小程序推荐:汇率即时查-打通微信直接搜一搜
  18. 绕过tp路由器管理密码_怎么用手机设置路由器?TPlink无线路由器安装设置方法...
  19. Qt纯代码实现菜单栏、工具栏、状态栏
  20. FRM 5.2 资本资产定价模型

热门文章

  1. LeetCode 1181. 前后拼接(哈希map)
  2. LeetCode 277. 搜寻名人(思维题)
  3. LeetCode 1361. 验证二叉树(图的出入度)
  4. LeetCode 第 20 场双周赛(294 / 1541,前19.07%,第1次全部通过)
  5. java的foeachr循环_for循环和Dowhile循环的应用
  6. Python基础(八)--迭代,生成器,装饰器与元类
  7. python方向键控制角色_python方向键控制上下左右代码
  8. 美团集群调度系统HULK技术演进
  9. 阿里P8架构师谈:多线程、架构、异步消息、Redis等性能优化策略
  10. 一篇文章彻底搞懂“分布式事务”