• 为程序添加“打开文件”对话框和“另存为”对话框


    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

      注意:各过滤字符串对之间及字符串对内部的两个字符串之间均以分割,过滤器结尾必须以结尾;对于一个字符串对来说,第一个字符串用于描述,如“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)*.txtAll Files(*.*)*.*";
    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)*.txt所有文件(*.*)*.*";
    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);
    }
    
  • 相关阅读:
    基于VitralBox 的 OpenEuler系统 安装增强功能
    OpenEuler 操作系统 安装 银河麒麟GUI界面
    OpenEuler 操作系统的安装
    vscode 安装markdown插件 及 实用markdown语法
    无限技能下的密码系统愿景
    商用密码企业调研
    实验四 Python综合实践 ——20191331刘宇轩
    20191331 《Python程序设计》实验三报告
    9.29载入史册的一天
    人生的四天半
  • 原文地址:https://www.cnblogs.com/zhouwanqiu/p/6918866.html
Copyright © 2020-2023  润新知