我是靠谱客的博主 奋斗枕头,最近开发中收集的这篇文章主要介绍MFC选择文件(夹)按钮实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

MFC选择文件(夹)按钮实现

选择文件(夹)

 1 void CFileSelectDlg::OnBnClickedButtonSelect()
 2 {
 3     if(((CButton*)(GetDlgItem(IDC_RADIO_FILE)))->GetCheck())
 4     {
 5         char strExt[5] = "dat";//设置文件的读取类型
 6         CString szFilter = "GeoTiff Files (*.dat)|*.dat|All Files (*.*)|*.*||";
 7         SelectFile(strExt,szFilter);
 8     }
 9     else
10     {
11         CString floder = SelectFolder();
12         SetDlgItemText(IDC_EDIT_PATH,floder);
13     }
14 }

选择文件

 1 bool CFileSelectDlg::SelectFile(char* strExt,CString const& szFilter)
 2 {
 3     CFileDialog    dlg(TRUE,strExt,NULL,OFN_FILEMUSTEXIST | OFN_HIDEREADONLY | OFN_ALLOWMULTISELECT,szFilter);
 4     dlg.m_ofn.lpstrTitle = "请选择缓存文件";
 5     CString inPath;
 6     CArray<CString,CString> aryFilename;
 7     if(dlg.DoModal() == IDOK)
 8     {
 9         CString filenames;
10         POSITION posFile = dlg.GetStartPosition();
11         while(posFile != NULL)
12         {
13             aryFilename.Add(dlg.GetNextPathName(posFile));
14         }
15     }
16     
17     int SelFileNum = aryFilename.GetSize();
18     if(SelFileNum==0)
19     {
20         AfxMessageBox("没有选择缓存文件");
21         return false;
22     }
23     return true;
24 }

选择文件夹

 1 CString CFileSelectDlg::SelectFolder()
 2 {
 3     TCHAR            szFolderPath[255] = {0};
 4     CString          strFolderPath;
 5     BROWSEINFO       sInfo;
 6     ::ZeroMemory(&sInfo,sizeof(BROWSEINFO));
 7     sInfo.pidlRoot = 0;
 8     sInfo.lpszTitle = "请选择缓存文件所在文件夹";
 9     sInfo.ulFlags = BIF_RETURNONLYFSDIRS | BIF_EDITBOX |BIF_DONTGOBELOWDOMAIN;
10     sInfo.lpfn = NULL;
11 
12     LPITEMIDLIST    lpidlBrowse = ::SHBrowseForFolder(&sInfo);
13     if(lpidlBrowse != NULL)
14     {
15         if(::SHGetPathFromIDListA(lpidlBrowse,szFolderPath))
16         {
17             strFolderPath = szFolderPath;
18         }
19     }
20     if(lpidlBrowse != NULL)
21     {
22         ::CoTaskMemFree(lpidlBrowse);
23     }
24     return strFolderPath;    
25 }

 

转载于:https://www.cnblogs.com/huangsitao/p/10298874.html

最后

以上就是奋斗枕头为你收集整理的MFC选择文件(夹)按钮实现的全部内容,希望文章能够帮你解决MFC选择文件(夹)按钮实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部