博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为程序添加“打开文件”对话框和“另存为”对话框
阅读量:5030 次
发布时间:2019-06-12

本文共 1775 字,大约阅读时间需要 5 分钟。

1、相关类:CFileDialog类

  CFileDialog(

    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:定制文件对话框,该参数值与OPENFILENAME结构体中的Flags字段相同;

    lpszFilter:用来指定一个或一组文件过滤器,只有选定的文件才会出现在文件列表中;

    pParentWnd:用来指定文件对话框的父窗口或拥有者窗口;

2、改变“打开”或“另存为”对话框的标题

  CFileDialog::m_ofn.lpstrTitle

3、设置过滤器(设置保存类型)

  CFileDialog::m_ofn.lpstrFilter

  注意:各过滤字符串对之间及字符串对内部的两个字符串之间均以\0分割,过滤器结尾必须以\0\0结尾;对于一个字符串对来说,第一个字符串用于描述,如“Text File(*.txt)”;第二个字符串表明使用的文件扩展名,多个扩展名可以用分号隔开,如“*.txt;*.text”;

4、获取和设置文件的相关属性

  CFileDialog::GetPathName

  CFileDialog::GetFileName

  CFileDialog::GetFileExt

  CFileDialog::GetFileTitle

  CFileDialog::GetNextPathName

  CFileDialog::GetStartPosition

//“另存为”对话框示例:CFileDialog fileDlg(FALSE, "txt");fileDlg.m_ofn.lpstrTitle = "我要保存在";fileDlg.m_ofn.lpstrFilter = "Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0";if(IDOK == fileDlg.DoModal()) {    CFile file(fileDlg.GetFileName(), CFile::modeCreate | CFile::modeWrite);    file.Write("hello world!", strlen("hello world!"));    file.Close();}
//“打开”对话框示例:CFileDialog fileDlg(TRUE);fileDlg.m_ofn.lpstrTitle = "我要打开";fileDlg.m_ofn.lpstrFilter = "Text Files(*.txt)\0*.txt\0所有文件(*.*)\0*.*\0\0";if(IDOK == fileDlg.DoModal()) {    CFile file(fileDlg.GetFileName(), CFile::modeRead);    char *pBuf;    DWORD dwFileLen;    dwFileLen = file.GetLength();    pBuf = new char[dwFileLen + 1];    pBuf[dwFileLen] = 0;    file.Read(pBuf, dwFileLen);    file.Close();    MessageBox(pBuf);}

 

转载于:https://www.cnblogs.com/zhouwanqiu/p/6918866.html

你可能感兴趣的文章
eclipse+testng+ant+Jenkins+maven搭建测试环境-本人实际操作
查看>>
祝福我的朋友们:2017年新年快乐?
查看>>
动手动脑之String.equals()方法
查看>>
TCP/IP协议原理【转载】
查看>>
【转】 Android经验: proguard 阻碍 webview 正常工作
查看>>
WEB测试和APP测试区别
查看>>
[物理学与PDEs]第4章习题4 一维理想反应流体力学方程组的守恒律形式及其 R.H. 条件...
查看>>
[Bhatia.Matrix Analysis.Solutions to Exercises and Problems]ExI.1.3
查看>>
[数分提高]2014-2015-2第4教学周第2次课
查看>>
ansible进阶小技巧--tags
查看>>
JSP页面跳转方式
查看>>
发布高性能迷你React框架anu
查看>>
Python中Gradient Boosting Machine(GBM)调参方法详解
查看>>
利用DDE通信将PLC数据传输到EXCEL
查看>>
Eclipse 实用快捷键大全
查看>>
与非门和或门实现异或门
查看>>
golang统计出其中英文字母、空格、数字和其它字符的个数
查看>>
poj 1782 Run Length Encoding
查看>>
《自我介绍》
查看>>
在线考试系统设计思路
查看>>