CFolderPickerDialog
简介
中文翻译为"文件夹拾取对话框".是Visual C++ 2008中新引入的针对文件夹选择对话框设计的类,此类替代了传统的SDK方法,而且具有更好的外观.但是,此类仅适用于vista及以上windows操作系统.
头文件: afxdlgs.h
示例
构造函数:
CFolderPickerDialog( LPCTSTR lpszFolder = NULL, DWORD dwFlags = 0, CWnd* pParentWnd = NULL, DWORD dwSize = 0);
范例:
CFolderPickerDialog fd(NULL,0,this,0);
int ret=fd.DoModal();
if(ret==IDOK)
{
CString des;
des=fd.GetFolderPath();
}
采用Win API实现如下:
BROWSEINFO bi;
char path[MAX_PATH];
char title[] = "Select Directory";
ZeroMemory(&bi,sizeof(bi));
bi.hwndOwner = this->m_hWnd;
bi.pszDisplayName = path;
bi.lpszTitle = title;
bi.ulFlags = 0x0040;
CString dir;
LPITEMIDLIST list = SHBrowseForFolder(&bi);
if(list == NULL)
dir = "";
else
{
SHGetPathFromIDList(list,path);
dir.Format("%s",path);
}
此API版本不仅适用于XP系统,还适用vista以及win7以上系统.但在外观界面有所差异.
时间: 2024-10-28 21:23:53