mfc打開文件夾

void  CMyDlg::Open(CString&filename)
{
	BROWSEINFO   bi;   
	char   buffer[MAX_PATH];   
	ZeroMemory(buffer,   MAX_PATH);   
	bi.hwndOwner   =   GetSafeHwnd();   
	bi.pidlRoot   =   NULL;   
	bi.pszDisplayName   =   buffer;   

	bi.lpszTitle   =   "選擇一個文件夾";   
	bi.ulFlags   =   BIF_EDITBOX;   
	bi.lpfn   =   NULL;   
	bi.lParam   =   0;   
	bi.iImage   =   0;   
	char   path[MAX_PATH]; 
	LPITEMIDLIST   pList   =   NULL;   

	//打開數據文件夾
	if   ((pList   =   SHBrowseForFolder(&bi))   !=   NULL)   
	{     
		ZeroMemory(path,   MAX_PATH);   
		SHGetPathFromIDList(pList,   path);   //path就是選中的目錄   
		filename = path;		
	}
}


在Mydlg類中添加函數void Open(CString&filename),源代碼如上。

使用時,定義CString mPath;

Open(mPath);//打開數據文件夾mPath爲文件夾路徑

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章