在VC中做一個選擇文件夾的對話框
void CBmp2aviDlg::OnOpenFolder()
{
CString sFolderPath;
BROWSEINFO bi;
char Buffer[MAX_PATH];
//初始化入口參數bi開始
bi.hwndOwner = NULL;
bi.pidlRoot = NULL;
bi.pszDisplayName = Buffer;//此參數如爲NULL則不能顯示對話框框
bi.lpszTitle = "Please select folder...";
bi.ulFlags = 0;
bi.lpfn = NULL;
//bi.iImage=IDI_ICON2;
//初始化入口參數bi結束
LPITEMIDLIST pIDList = SHBrowseForFolder(&bi);//用於顯示對話框
if(pIDList)
{
SHGetPathFromIDList(pIDList, Buffer);
//取得文件夾路徑到Buffer裏
sFolderPath = Buffer;//將路徑保存在一個CString對象裏
}
LPMALLOC lpMalloc;
if(FAILED(SHGetMalloc(&lpMalloc))) return;
//釋放內存
lpMalloc->Free(pIDList);
lpMalloc->Release();
}
{
CString sFolderPath;
BROWSEINFO bi;
char Buffer[MAX_PATH];
//初始化入口參數bi開始
bi.hwndOwner = NULL;
bi.pidlRoot = NULL;
bi.pszDisplayName = Buffer;//此參數如爲NULL則不能顯示對話框框
bi.lpszTitle = "Please select folder...";
bi.ulFlags = 0;
bi.lpfn = NULL;
//bi.iImage=IDI_ICON2;
//初始化入口參數bi結束
LPITEMIDLIST pIDList = SHBrowseForFolder(&bi);//用於顯示對話框
if(pIDList)
{
SHGetPathFromIDList(pIDList, Buffer);
//取得文件夾路徑到Buffer裏
sFolderPath = Buffer;//將路徑保存在一個CString對象裏
}
LPMALLOC lpMalloc;
if(FAILED(SHGetMalloc(&lpMalloc))) return;
//釋放內存
lpMalloc->Free(pIDList);
lpMalloc->Release();
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.