天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 33|回复: 0

CFileDialog

[复制链接]
  • TA的每日心情
    开心
    昨天 06:36
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    105

    主题

    11

    回帖

    1308

    积分

    管理员

    积分
    1308
    QQ
    发表于 2024-10-3 17:24:03 | 显示全部楼层 |阅读模式
    1.     // 打开一个txt
    2.     DWORD dwFlags = 0;//OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
    3.     //一般  “文本文件*.txt|*.txt”为一组,最后加上 "||"
    4.     const TCHAR* filter = _T("文本文件*.txt|*.txt|word文档*.doc|*.doc|所有文件(*.*)|*.*||");
    5.     CFileDialog dlg(TRUE, _T("txt"), NULL, dwFlags, filter);
    6.     //打开对话框的标题
    7.     dlg.m_ofn.lpstrTitle = _T("自定义标题");
    8.     if (IDOK == dlg.DoModal())
    9.     {
    10.             //文件全路径  D:\test\a.txt
    11.         CString filepath = dlg.GetPathName();
    12.         //folder文件夹路径 D:\text
    13.         CString folder = dlg.GetFolderPath();
    14.         //文件--包括名+后缀   a.txt
    15.         CString filename = dlg.GetFileName();
    16.         //后缀名  txt
    17.         CString extname = dlg.GetFileExt();
    18.         //文件名  a
    19.         CString title = dlg.GetFileTitle();        
    20.     }
    复制代码



    过滤的语法
    "Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||"
    文件类型说明和扩展名间用 | 分隔,同种类型文件的扩展名间可以用 ; 分割,每种文件类型间用 | 分隔,末尾用 || 指明
    文件保存
    文件保存的几种方式:

    选中一个txt文档,然后保存,会有替换的提示
    输入一个名称,比如 a, 然后注意无后缀
    输入一个名称,如 a.txt ,有后缀

    1.     //保存一个txt
    2.     DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
    3.     const TCHAR* filter = _T("文本文件*.txt|*.txt||");
    4.     CFileDialog dlg(FALSE, _T("txt"), NULL, dwFlags, filter);
    5.     dlg.m_ofn.lpstrTitle = _T("自定义标题");
    6.     if (IDOK == dlg.DoModal())
    7.     {
    8.         CString filepath = dlg.GetPathName();
    9.         CString filename = dlg.GetFileName();
    10.         CString extname = dlg.GetFileExt();
    11.         CString title = dlg.GetFileTitle();
    12.         CString folder = dlg.GetFolderPath();
    13.     }
    复制代码



    新建文件

    1.     //新建文件
    2.     DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
    3.     const TCHAR* filter = _T("文本文件*.txt|*.txt|json文件*.json|*.json||");
    4.     CFileDialog dlg(FALSE, NULL, NULL, dwFlags, filter);
    5.     dlg.m_ofn.lpstrTitle = _T("新建文件");
    6.     if (IDOK != dlg.DoModal())
    7.         return;
    8.     CString filepath = dlg.GetPathName();
    9.     CString filename = dlg.GetFileName();
    10.     CString extname = dlg.GetFileExt();
    11.     CString title = dlg.GetFileTitle();
    12.     CString folder = dlg.GetFolderPath();
    13.     //判断有没有输入后缀名
    14.     if (extname.IsEmpty())
    15.     {
    16.         //下拉框是哪一个 0--txt  1--json
    17.         DWORD filterIndex = dlg.m_ofn.nFilterIndex;
    18.         switch (filterIndex)
    19.         {
    20.         case 1:
    21.             extname = _T("txt");
    22.             filename += _T(".txt");
    23.             filepath += _T(".txt");
    24.             break;
    25.         case 2:
    26.             extname = _T("json");
    27.             filename += _T(".json");
    28.             filepath += _T(".json");
    29.             break;
    30.         default:
    31.             break;
    32.         }
    33.     }
    复制代码

     

     

     

     

    CFileDialog
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

    GMT+8, 2024-11-1 10:29 , Processed in 0.126349 second(s), 24 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表