zoukankan      html  css  js  c++  java
  • MFC获取文件路径和文件夹路径

    MFC的界面中,需要实现这样两个功能:

    1、在界面上加一个按钮,单击按钮弹出一个对话框选择文件,在工程中获得文件的路径;

    2、在界面上加一个按钮,单击按钮弹出一个对话框选择文件夹,在工程中获取文件夹的路径。

    一、获取文件路径

     1 // -- 按钮的消息响应函数
     2 void CDialogSampled::OnBnClickedButtonOpen()
     3 {
     4     // TODO: 在此添加控件通知处理程序代码
     5     CString m_strFilePath = _T("");
     6 
     7     //获取文件路径名
     8     LPCTSTR szFilter =_T("TXT(*.txt)|*.txt|LOG(*.log)|*.log|ALLSUPORTFILE(*.*)|*.*||");
     9     CFileDialog dlgFileOpenImg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter,NULL);
    10     //打开txt文件
    11     if(dlgFileOpenImg.DoModal() == IDOK)
    12     {       
    13         //读取文件名
    14         m_strFilePath = dlgFileOpenImg.GetPathName();
    15     }
    16     else
    17     {
    18         return;
    19     }
    20 }

    二、获取文件夹路径

    //选择保存路径
    void CDialogSampled::OnBnClickedButtonSavePathSelect()
    {
        // TODO: 在此添加控件通知处理程序代码
        CString m_saveFilePath;
        //打开文件,获取文件路径名
        TCHAR szPath[_MAX_PATH];  
        BROWSEINFO bi;  
        bi.hwndOwner = GetSafeHwnd();  
        bi.pidlRoot = NULL;  
        bi.lpszTitle = "Please select the input path";  
        bi.pszDisplayName = szPath;  
        bi.ulFlags = BIF_RETURNONLYFSDIRS;  
        bi.lpfn = NULL;  
        bi.lParam = NULL;  
    
        LPITEMIDLIST pItemIDList = SHBrowseForFolder(&bi);  
    
        if(pItemIDList)  
        {  
            if(SHGetPathFromIDList(pItemIDList,szPath))  
            {  
                m_saveFilePath = szPath;  
                m_saveFilePath = m_saveFilePath+"\";
            }  
    
            //use IMalloc interface for avoiding memory leak  
            IMalloc* pMalloc;  
            if( SHGetMalloc(&pMalloc) != NOERROR )  
            {  
                TRACE(_T("Can't get the IMalloc interface
    "));  
            }  
    
            pMalloc->Free(pItemIDList);  
            if(pMalloc)  
                pMalloc->Release();  
            UpdateData(FALSE);  
        }  
    }
  • 相关阅读:
    SQL SERVER开窗函数
    SQL SERVER调优常用方法
    SQL SERVER其它函数
    SQL SERVER时间函数
    SQL SERVER字符串函数
    ptyhon技能树及其学习资源
    机器学习中的数学基础
    python-spider 第10题
    python-spider 第七关
    python-spider 第六关
  • 原文地址:https://www.cnblogs.com/Johnny-z6951/p/15347586.html
Copyright © 2011-2022 走看看