在“BROWSEINFO”产生的“浏览文件夹”对话框中加入“新建文件夹”按钮

来源:互联网 发布:哪个网络机顶盒资源多 编辑:程序博客网 时间:2024/05/12 10:45

我们在用“browseinfo”产生的浏览文件夹的对话框中发现没有“新建文件夹”这一个项目。而我的程序中需要在这个时候先创建新的文件夹在选择保存到刚刚创建的文件夹下。当然,你也可以先到指定目录下创建完,在从这里浏览选定。可是毕竟你还得退回到盘符,进去你想创建文件夹的地方,是比较麻烦了。如果有像保存文件夹那样里面可以随时创建多方便啊。于是为了个人需求还算是研究了一下,以下代码就可以派上用场了:

#define   BIF_NEWDIALOGSTYLE    0x0040  
#define   BIF_USENEWUI (BIF_NEWDIALOGSTYLE | BIF_EDITBOX)      
void   SelectFolder(HWND   hWnd,CString&   strSelectPath)  
{  
BROWSEINFO   bi;  
char   FileName[MAX_PATH];  
   
ZeroMemory(&bi,sizeof(BROWSEINFO));  
bi.hwndOwner   =   hWnd;  
bi.pszDisplayName   =   FileName;  
bi.lpszTitle="Select   Folder";  
bi.ulFlags=   BIF_USENEWUI;  
   
LPITEMIDLIST   idl=SHBrowseForFolder(&bi);  
if(idl==NULL)  
return;  
   
SHGetPathFromIDList(idl,FileName);  
}   

其中这个就是那句可以添加新件文件夹选项的:
#define   BIF_USENEWUI (BIF_NEWDIALOGSTYLE | BIF_EDITBOX)   
原先只有BIF_NEWDIALOGSTYLE,自己定义一个宏,把BIFEDITBOX 与上就ok。不妨自己试一试。

 

原创粉丝点击