在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();
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章