Delphi 选择文件夹对话框 (有新建文件夹按钮)修正版
2013-10-19 00:21
351 查看
uses ShlObj; function SelectFolderDialog(const Handle: integer; const Caption: string; const InitFolder: WideString; var SelectedFolder: string): boolean; var BInfo: _browseinfo; Buffer: array[0..MAX_PATH] of Char; ID: IShellFolder; Eaten, Attribute: Cardinal; ItemID: PItemidlist; begin Result := False; BInfo.HwndOwner := Handle; BInfo.lpfn := nil; BInfo.lpszTitle := Pchar(Caption); BInfo.ulFlags := BIF_RETURNONLYFSDIRS + BIF_NEWDIALOGSTYLE; SHGetDesktopFolder(ID); ID.ParseDisplayName(0, nil, PWideChar(InitFolder), Eaten, ItemID, Attribute); BInfo.pidlRoot := ItemID; GetMem(BInfo.pszDisplayName, MAX_PATH); try if SHGetPathFromIDList(SHBrowseForFolder(BInfo), Buffer) then begin SelectedFolder := Buffer; if Length(SelectedFolder) <> 3 then SelectedFolder := SelectedFolder + '\'; result := True; end else begin SelectedFolder := ''; Result := False; end; finally FreeMem(BInfo.pszDisplayName); end; end; procedure TFrmMain.EdtDirPathButtonClick(Sender: TObject); var NewDir: string; begin if SelectFolderDialog(Handle, '选择', '', NewDir) then EdtDirPath.Text := NewDir; end;
相关文章推荐
- Delphi 选择文件夹对话框 (有新建文件夹按钮)修正版
- Delphi 显示选择文件夹对话框 (有新建按钮)
- Delphi 显示选择文件夹对话框 (有新建按钮)
- Delphi 弹出Windows风格的选择文件夹对话框, 还可以新建文件夹
- Delphi2010显示选择文件夹对话框 (有新建按钮)
- vc创建带新建文件夹按钮的保存对话框
- delphi选择文件夹对话框(最简单的一种)
- 选择文件和文件夹的对话框
- C#+Emgucv通过点击按钮弹出选择文件对话框
- 文件夹选择对话框 JS实现的两种方案
- VBS 显示“选择文件或文件夹”对话框的代码
- VC弹出"选择文件"和"选择文件夹"对话框(转)
- VC选择文件夹路径对话框 - SHBrowseForFolder 函数
- Delphi选择文件夹函数
- VC++, MFC中实现选择文件夹,选择文件对话框,确定当前工作目录(转载)
- 文件夹选择对话框 JS实现
- delphi调用选择目录对话框
- MFC选择文件夹对话框
- MFC实现选择文件夹的对话框
- 选择文件夹的对话框控件c#