网站首页 美食营养 游戏数码 手工爱好 生活家居 健康养生 运动户外 职场理财 情感交际 母婴教育 生活知识 知识问答

MFC应用实例:[64]文件夹重命名

时间:2024-11-11 00:39:34

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

MFC应用实例:[64]文件夹重命名

2、界面设计如下,添加两个按钮,两个编辑框,两个文本控件。

MFC应用实例:[64]文件夹重命名

3、对“...”按钮添加响应函数OnBTFindDir(拘七呷憎),响应函数OnBTFindDir()代码如下:void CRenameDirDlg::OnBTFindDir(){ CStri荏鱿胫协ng path = SelectFolder(this->m_hWnd); //打开要重命名的文件夹 GetDlgItem(IDC_EDIT1)->SetWindowText(path); //将文件夹的路径显示在编辑框}CString CRenameDirDlg::SelectFolder(const HWND& hwnd)//选择文件夹{ CString str; LPMALLOC pMalloc; str.Empty(); if (::SHGetMalloc(&pMalloc) == NOERROR) { BROWSEINFO bi; TCHAR pszBuffer[MAX_PATH]; LPITEMIDLIST pidl; bi.hwndOwner = hwnd; bi.pidlRoot = NULL; bi.pszDisplayName = pszBuffer; bi.lpszTitle = _T("select directory"); bi.ulFlags = BIF_RETURNFSANCESTORS | BIF_RETURNONLYFSDIRS; bi.lpfn = NULL; bi.lParam = 0; bi.iImage = 0; if ((pidl = ::SHBrowseForFolder(&bi)) !=NULL) { if (::SHGetPathFromIDList(pidl, pszBuffer)) str = pszBuffer; else return _T(""); pMalloc->Free(pidl); } pMalloc->Release(); } return str;}

MFC应用实例:[64]文件夹重命名

4、对“重命名”按钮添加响应函数OnBTRename(),响应函数OnBTRename()代码如下:void CRenameD足毂忍珩irDlg::OnBTRename() //给文件夹重命名{ CString path; GetDlgItem(IDC_EDIT1)->GetWindowText(path);//得到源文件夹路径 CString dst = path; //得到文件夹所在目录 int len = path.GetLength(); //得到路径长度 int index = path.ReverseFind('\\') + 1; dst.Delete(index, len - index); CString temp; GetDlgItem(IDC_EDIT2)->GetWindowText(temp);//得到重命名后的文件夹名 dst += temp; if (MoveFile(path, dst))//重命名 MessageBox("重命名完成"); else MessageBox("重命名失败");}

MFC应用实例:[64]文件夹重命名

5、程序运行如下:

MFC应用实例:[64]文件夹重命名
© 2026 小知经验
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com