如何在“BROWSEINFO”产生的“浏览文件夹”对话框中加入“新建文件夹”按钮?该怎么用代码把“新建文件夹”按钮加在对话框上?请详细指点一下~

解决方案 »

  1.   

    MSDN里说已经有这个功能了:ulFlags=BIF_NEWDIALOGSTYLE 就行了,
      

  2.   

    http://codeproject.com/dialog/browse_for_folder_dialog.asp
      

  3.   

    如果你的shell32.dll版本大于或等于5.0, 就可以有个"新建文件夹"按钮了, 只要在ulflags中包含BIF_NEWDIALOGSTYLE
      

  4.   

    我用了ulFlags=BIF_NEWDIALOGSTYLE ,但编译报错,BIF_NEWDIALOGSTYLE ': undeclared identifier
    Error executing cl.exe.
    我的VC6.0的,是要升级SDK吗?最新的sdk不支持vc6.0换一个新版的shell32.dll就可以了吗?
      

  5.   

    shell32.dll是系统文件。
    5.0 window2000 and later
      

  6.   

    vc6不知道了,vc2003已经有了该标志
      

  7.   

    你可以在在线MSDN上看下 #define BIF_NEWDIALOGSTYLE 的值,然后自己在程序里define一下就可以了,不过需要shell32.dll 5.0的支持
      

  8.   

    //Like this:
    #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);
    }
      

  9.   

    谢谢大家的帮助!用vc6.0以上的版本直接BIF_NEWDIALOGSTYLE就行了;vc6.0用winehero(God helps those who help themselves.)和palmax(南宫煌) 提出的方法.结贴了.