Windows--MFC選擇檔案對話方塊和選擇檔案夾對話方塊

來源:互聯網
上載者:User

標籤:span   rtp   對話方塊   osi   儲存   names   file   info   string   

選擇單個檔案對話方塊:

1 CString strFile = _T("");2 3 CFileDialog    dlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY, _T("Describe Files (*.jpg)|*.jpg|All Files (*.*)|*.*||"), NULL);4 5 if (dlgFile.DoModal())6 {7      strFile = dlgFile.GetPathName();8 }

選擇多個檔案對話方塊

 1 void CBugReportDlg::SelectFiles( vector<CString>& all_sel_files ) 2 { 3     CFileDialog dlg(TRUE, _T("*.jpg"), NULL, OFN_ALLOWMULTISELECT|OFN_HIDEREADONLY | OFN_FILEMUSTEXIST, _T("Image Files(*.jpg)|*.jpg|"), NULL);  4     dlg.m_ofn.lpstrTitle = _T("選擇圖片");  5     CString filename;  6     if(dlg.DoModal() == IDOK)  7     {  8         POSITION fileNamesPosition = dlg.GetStartPosition();  9         while(fileNamesPosition != NULL) 10         { 11             filename = dlg.GetNextPathName(fileNamesPosition); 12             all_sel_files.push_back(filename);13         }   14     } 15 16 }

選擇檔案夾

 1 CString CBugReportDlg::SelFilePath() 2 { 3     TCHAR           szFolderPath[MAX_PATH] = {0};   4     CString         strFolderPath = TEXT("");   5  6     BROWSEINFO      sInfo;   7     ::ZeroMemory(&sInfo, sizeof(BROWSEINFO));   8     sInfo.pidlRoot   = 0;   9     sInfo.lpszTitle   = _T("請選擇處理結果儲存路徑");  10     sInfo.ulFlags   = BIF_RETURNONLYFSDIRS|BIF_EDITBOX|BIF_DONTGOBELOWDOMAIN;  11     sInfo.lpfn     = NULL;  12 13     // 顯示檔案夾選擇對話方塊  14     LPITEMIDLIST lpidlBrowse = ::SHBrowseForFolder(&sInfo);   15     if (lpidlBrowse != NULL)  16     {  17         // 取得檔案夾名  18         if (::SHGetPathFromIDList(lpidlBrowse,szFolderPath))    19         {  20             strFolderPath = szFolderPath;  21         }  22     }  23     if(lpidlBrowse != NULL)  24     {  25         ::CoTaskMemFree(lpidlBrowse);  26     }  27 28     return strFolderPath;  29 }

 

Windows--MFC選擇檔案對話方塊和選擇檔案夾對話方塊

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.