打开文件夹保存对话框
在打开文件夹保存对话框的时候,windows 默认是没有“新建文件夹”这个按钮的。不过C++中可以使用扩展风格,将这个按钮给加上。
1 // 打开文件夹 2 BOOL PriOpenFolderDlg_(const CString dlgtitle, CString &dlgpath) 3 { 4 BOOL rl = FALSE; 5 try 6 { 7 TCHAR path[255] = _T(""); 8 BROWSEINFO bi; 9 ZeroMemory(&bi, sizeof(BROWSEINFO)); // 指定存放文件的默认文件夹路径 10 bi.lpszTitle = dlgtitle; // 显示的名字 11 bi.ulFlags = BIF_RETURNONLYFSDIRS | 0x0040 ; // 添加“新建文件夹项” 12 LPITEMIDLIST pidl = SHBrowseForFolder(&bi); // 以默认路径打开浏览文件夹对话框 13 if(pidl != NULL) 14 { 15 if ( !SHGetPathFromIDList(pidl, path) ) 16 { 17 return FALSE; 18 } 19 } 20 dlgpath = path; // 即需要的文件夹路径 21 rl = TRUE; 22 } 23 catch(...) 24 { 25 rl = FALSE; 26 } 27 return rl; 28 }