zoukankan      html  css  js  c++  java
  • 记录:VC++中打开保存目录选择对话框操作

    //打开文件对话框
    const char pszFilter[] = _T("EXE File (*.txt)|*.txt|All Files (*.*)|*.*||");
    CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
    pszFilter, this);
    dlg.m_ofn.lpstrInitialDir = "c:\\WINDOWS\\" //设置对话框默认呈现的路径
    if(dlg.DoModal() == IDOK)
    {
           CString strFilePath = dlg.GetPathName();
          /*如果有多个文件,则
          for(POSITION pos = dlg.GetStartPosition(); pos!=NULL; )
          { CString strFilePathName = dlg.GetNextPathName(pos);}*/
    }

    //保存文件对话框
    const char pszFilter[] = _T("EXE Files (*.txt)|*.txt||");
    CFileDialog dlgSave( FALSE, //FALSE为保存
    _T(".txt"), //自动加上的扩展名
    _T("Output.txt"), //默认保存的文件名
    OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
    pszFilter, this);

    //目录选择对话框
    BROWSEINFO bi;
    char szPathName[MAX_PATH];
    char szTitle[] = "选择路径"
    ZeroMemory(&bi, sizeof(BROWSEINFO));
    bi.hwndOwner = GetSafeHwnd();
    bi.pszDisplayName = szPathName;
    bi.lpszTitle = szTitle;
    bi.ulFlags = 0x0040 ;
    CString str;
    CString strDir; //选择的目录

    LPITEMIDLIST idl = SHBrowseForFolder(&bi);
    if(idl == NULL)
    {
         strDir= ""
         return;
    }
    SHGetPathFromIDList(idl, str.GetBuffer(MAX_PATH * 2));
    str.ReleaseBuffer();
    if(str != "" && str.GetAt(str.GetLength() - 1) != '\\')
    str += "\\"
    strDir = str;

  • 相关阅读:
    [刷题] PTA 7-32 说反话-加强版
    [算法] 堆
    [笔记] 《c++ primer》显示器程序 Chapter7
    [笔记] 《c++ primer》书店程序 Chapter7
    [c++] <vector>
    [笔记] 《c++ primer》书店程序 Chapter2
    [笔记] 《c++ primer》书店程序 Chapter 1
    253. Meeting Rooms II
    461. Hamming Distance
    252. Meeting Rooms
  • 原文地址:https://www.cnblogs.com/flyingfish/p/675455.html
Copyright © 2011-2022 走看看