1. 业奇网 > 经验交流 >

MFC应用实例:文件夹重命名操作

---

MFC应用实例:文件夹重命名操作

新建基于对话框的应用程序

在这个MFC应用示例中,我们将展示如何对文件夹进行重命名操作。首先,我们需要新建一个基于对话框的应用程序,将其命名为RenameDir。

界面设计与功能按钮添加

在应用程序界面设计中,我们需要添加两个按钮、两个编辑框以及两个文本控件。其中,“...”按钮需要添加响应函数OnBTFindDir(),具体代码如下:

```cpp

void CRenameDirDlg::OnBTFindDir()

{

CString 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;

NULL;

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;

}

```

文件夹重命名功能实现

接下来,我们需要对“重命名”按钮添加响应函数OnBTRename(),具体代码如下:

```cpp

void CRenameDirDlg::OnBTRename()

{

CString path;

GetDlgItem(IDC_EDIT1)->GetWindowText(path);

CString dst path;

int len ();

int index ('') 1;

(index, len - index);

CString temp;

GetDlgItem(IDC_EDIT2)->GetWindowText(temp);

dst temp;

if (MoveFile(path, dst))

MessageBox("重命名完成");

else

MessageBox("重命名失败");

}

```

程序运行效果与总结

通过以上步骤,我们完成了对文件夹进行重命名操作的MFC应用示例。用户可以通过选择文件夹和输入新的文件夹名称来实现文件夹的重命名,同时程序还会给出相应的反馈信息,让操作更加直观方便。

---

本文由用户上传,如有侵权请联系删除!