MFC应用实例:[60]删除指定类型的文件

2024-11-06 22:51:54

1、新建一个基于对话框的应用程序,工程名为DeleteCertainFolderFile

MFC应用实例:[60]删除指定类型的文件

3、双击“>>”按钮添加响应函数OnFolder(),在响应函数OnFolder(拘七呷憎)中添加一下代码:void CDeleteCertainFolderFileDlg::On僻棍募暖Folder(){ //定义指向IMalloc的指针 LPMALLOC pMalloc; if (::SHGetMalloc(&pMalloc) != NOERROR) return; // failed to get allocator char szDisplayName[_MAX_PATH]; char szBuffer[_MAX_PATH]; BROWSEINFO browseInfo; //构造对话框结构 browseInfo.hwndOwner = this->m_hWnd; browseInfo.pidlRoot = NULL; //设置根目录为桌面 browseInfo.pszDisplayName = szDisplayName; browseInfo.lpszTitle = "选择删除文件的目录"; //对话框标题 browseInfo.ulFlags = BIF_RETURNFSANCESTORS|BIF_RETURNONLYFSDIRS; browseInfo.lpfn = NULL; //未用 browseInfo.lParam = 0; //未用 LPITEMIDLIST lpItemIDList; if ((lpItemIDList = ::SHBrowseForFolder(&browseInfo))!= NULL) { //得到目录的路径 if (::SHGetPathFromIDList(lpItemIDList, szBuffer)) { if (szBuffer[0] == '\0') { return ; } m_strFolder = szBuffer; UpdateData(false); } else { AfxMessageBox("不能得到所选的文件夹!",MB_ICONSTOP|MB_OK); return; } pMalloc->Free(lpItemIDList); pMalloc->Release(); } DisplayFileList(m_strFolder);}

MFC应用实例:[60]删除指定类型的文件

5、在CDeleteCertainFolderFileDlg类中添加DisplayFileList(),OnChangeEdit1()这两个函数,代码如下:void CDeleteCertainFolderFileDlg::DisplayFileList(CString strdir){ TCHAR szPath [MAX_PATH]; strcpy(szPath,strdir); //DlgDirList函数用于向ListBox中加入某路径下的文件 int nReslt = DlgDirList( szPath,//目录 IDC_LIST1,//ListBox的资源ID 0,//当前选择的驱动器和路径的静态控件ID,如果不用显示这些驱动器和路径,置为0 DDL_READWRITE|DDL_READONLY|DDL_HIDDEN|DDL_SYSTEM|DDL_ARCHIVE);}void CDeleteCertainFolderFileDlg::OnChangeEdit1(){ // TODO: Add your control notification handler code here UpdateData(true); DisplayFileList(m_strFolder);}

MFC应用实例:[60]删除指定类型的文件
猜你喜欢