在VC++編程中,有很多地方要用到文件夾浏覽對話框,在version5.0版本(微軟控件版本,一般在Windows2000之前)之前若想在文件夾浏覽對話框上加一個新建文件夾按鈕,需要自己編程來實現,現在在version5.0版本後,只需設置一個參數就可以了,而且有上下文菜單。如下圖所示:(點此下載整個示例工程,本工程略加改動即可使用於自己的程序中。本工程亦可作為初學者的教程,一般教材很少講文件夾浏覽公用對話框的用法。)
示例工程中主要代碼如下:
void CTestBrowseDlg::OnBrowse() { CString str; BROWSEINFO bi; char name[MAX_PATH]; ZeroMemory(&bi,sizeof(BROWSEINFO)); bi.hwndOwner=GetSafeHwnd(); bi.pszDisplayName=name; bi.lpszTitle="Select folder"; bi.ulFlags=BIF_USENEWUI; LPITEMIDLIST idl=SHBrowseForFolder(&bi); if(idl==NULL) return; SHGetPathFromIDList(idl,str.GetBuffer(MAX_PATH)); str.ReleaseBuffer(); m_Path=str; if(str.GetAt(str.GetLength()-1)!=\) m_Path+="\"; UpdateData(FALSE); }本工程在VC++7.0+WindowsXP中調試通過。