MFC应用实例:[48]文件重命名
1、新建一个基于对话框的应用程序,工程名为RenameFile。
![MFC应用实例:[48]文件重命名](https://exp-picture.cdn.bcebos.com/35fa07efa25f0c14b3b039310d89a146b6b13863.jpg)
2、如下图为对话框添加二个按钮,二个编辑框,二个静态文本
![MFC应用实例:[48]文件重命名](https://exp-picture.cdn.bcebos.com/d3c39889a146b7b19832940ec77c34b33d413563.jpg)
3、为“...”按钮建立响应函数OnBTBrown(),在响应函数OnBTBrown()中添加一下代码:
void CRenameFileDlg::OnBTBrown()
{
//打开文件对话框
char filter[] = "所有文件(*.*)|*.*||";//设置文件类型过滤
//文件对话框
CFileDialog fdlg(true, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, filter);
fdlg.m_ofn.lpstrInitialDir = "c:\\"; //设置初始文件目录
//弹出对话框,如果单击的是"OK"按钮
if(fdlg.DoModal() == IDOK)
{
GetDlgItem(IDC_EDIT1)->SetWindowText(fdlg.GetPathName());
}
}
![MFC应用实例:[48]文件重命名](https://exp-picture.cdn.bcebos.com/4d3d2ab33c4133baaf8ae8ce6a37c97623bc2f63.jpg)
4、为重命名按钮建立响应函数OnBTRename(),在响应函数OnBTRename()中添加一下代码:
void CRenameFileDlg::OnBTRename()
{
CString src = "";//原文件路径
GetDlgItem(IDC_EDIT1)->GetWindowText(src);
CString dst = src;
int len = dst.GetLength(); //得到路径长度
int index = dst.ReverseFind('\\') + 1;
dst.Delete(index, len - index);
CString temp = "";
GetDlgItem(IDC_EDIT2)->GetWindowText(temp);
dst += temp;
if (MoveFile(src, dst))//重命名
{
MessageBox("重命名完成");
}
else
{
MessageBox("重命名失败");
}
}
![MFC应用实例:[48]文件重命名](https://exp-picture.cdn.bcebos.com/023cff37c97622bcfc0e24d4a05fd54604962863.jpg)
5、程序重命名运行如下:
![MFC应用实例:[48]文件重命名](https://exp-picture.cdn.bcebos.com/23fd63c5cf672b5f518dee253314f4d0b4032763.jpg)