设为首页 加入收藏

TOP

15.5 创建选择文件夹的对话框
2013-10-07 00:33:01 来源: 作者: 【 】 浏览:59
Tags:15.5 创建 选择 文件夹 对话

15.5  创建选择文件夹的对话框

MFC中,使用CFileDialog类可以创建一个对话框用来查找或者保存一个文件。那么如何创建一个选择文件夹的对话框呢?可以使用下面的函数,代码如下:

BOOL GetFolderPath(CWnd* pWnd,CString& strPath)
{
TCHAR szTitle[]       = _T("请选择对话框");
TCHAR szPath[MAX_PATH]       = _T("");
BROWSEINFO bi;

if(!pWnd)
return FALSE;

memset(&bi,0,sizeof(BROWSEINFO));
//设置父窗口句柄
bi.hwndOwner = pWnd->GetSafeHwnd();;
//设置窗口标题
bi.lpszTitle = szTitle;

LPITEMIDLIST pList = SHBrowseForFolder(&bi);
if (pList)
{
if (!SHGetPathFromIDList(pList, szPath))
{
return FALSE;
}

//防止内存泄露
IMalloc* pMalloc;
if (SHGetMalloc(&pMalloc) != NOERROR)
{
return FALSE;
}
pMalloc->Free(pList);
if (pMalloc)
pMalloc->Release();
}

//判断路径长度是否有效
if(strlen(szPath)<=0)
{
return FALSE;
}
strPath.Format(_T("%s"),szPath);
return TRUE;
}
该函数可以在基于MFC的应用程序中使用,该函数接受两个参数,一个CWnd类指针用于设定父窗口,另外一个CString对象用来保存选择的文件夹完整路径。如果没有错误发生,函数返回TRUE,否则返回FALSE。使用该函数的效果如图15.4所示。
图15.4  选择文件夹
【责任编辑:夏书 TEL:(010)68476606】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇15.1 使CListCtrl控件可以选择一.. 下一篇15.3 禁止调整窗口大小

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: