The ShowFolders method of the CommDlg Ocx object keeps raising questions. Therefor an example of an extended browse for folders dialog box.
The API behind the dialog box of the ShowFolders method is the SHBrowseForFolder() Shell function. Actually, there are two styles of dialog box available. The older style is displayed by default and is displayed using the BIF_ constants specified in the previous blog CommDlg.ShowFolders. However, the list of constants is a subset of the total number of flags. To specify a dialog box using the newer style, you should pass the BIF_USENEWUI flag in the ShowFolders method.
The newer style provides a number of additional features, including drag-and-drop capability within the dialog box, reordering, deletion, shortcut menus, the ability to create new folders, and other shortcut menu commands. Initially, it is larger than the older dialog box, but can be resized by the user.
The dialog box can be displayed using the following code.
Public Const BIF_RETURNONLYFSDIRS = 0x0001 Public Const BIF_DONTGOBELOWDOMAIN = 0x0002 Public Const BIF_STATUSTEXT = 0x0004 Public Const BIF_RETURNFSANCESTORS = 0x0008 Public Const BIF_EDITBOX = 0x0010 Public Const BIF_VALIDATE = 0x0020 Public Const BIF_NEWDIALOGSTYLE = 0x0040 Public Const BIF_USENEWUI = (BIF_NEWDIALOGSTYLE | BIF_EDITBOX) Public Const BIF_NONEWFOLDERBUTTON = 0x0200 Public Const BIF_BROWSEFORCOMPUTER = 0x1000 Public Const BIF_BROWSEFORPRINTER = 0x2000 Public Const BIF_BROWSEINCLUDEFILES = 0x4000 Global cd As New CommDlg cd.Title = "GFA-BASIC32 ShowFolders Demo" cd.ShowFolders BIF_USENEWUI If Len(cd.FileName) Then _ MsgBox "Folder Selected: " & cd.FileName