MFC,弹出对话框保留文件

MFC,弹出对话框保存文件
TCHAR chPath[255]; //用来存储路径的字符串
CString strPath = "";
BROWSEINFO bInfo;
GetModuleFileName(NULL,chPath,MAX_PATH);
strPath =chPath;
ZeroMemory(&bInfo, sizeof(bInfo));
bInfo.hwndOwner = m_hWnd;
bInfo.lpszTitle = _T("请选择路径: ");  
bInfo.ulFlags = BIF_RETURNONLYFSDIRS|BIF_EDITBOX;
bInfo.lParam = (LPARAM)strPath.GetBuffer(strPath.GetLength());

LPITEMIDLIST lpDlist; //用来保存返回信息的IDList
lpDlist = SHBrowseForFolder(&bInfo) ; //显示选择对话框
if(lpDlist != NULL) //用户按了确定按钮
{
SHGetPathFromIDList(lpDlist, chPath);//把项目标识列表转化成字符串
strPath = chPath; //将TCHAR类型的字符串转换为CString类型的字符串
UpdateData(FALSE);
}  


可是这个保存文件有个问题,不能更改文件名,我想保存的时候,自己给文件重新命名,请求高手指点。

------解决方案--------------------
有个文件操作的类,直接用CFile不好吗?
------解决方案--------------------
CFileDialog
------解决方案--------------------
你这个是保存文件夹,CFileDialog构造函数第一个参数,TRUE是打开文件、FALSE是保存文件,文件名也是可以修改。
------解决方案--------------------
CFileDialog这个类不是很难,就那么几个参数