如何象commanddialog选择一个文件一样选择一个目录

crazypeople 2005-08-28 01:45:17
谢谢!!!!
...全文
89 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kenny 2005-08-29
  • 打赏
  • 举报
回复

我的样例,供楼主参考:


使用 API 制作选择目录位置的对话框


'声明 API 选择目录时使用

Private Type BROWSEINFO
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type

Private Const BIF_RETURNONLYFSDIRS = &H1

Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Private Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long


'选择存放目录
Private Sub SelFolder_Click()

Dim bi As BROWSEINFO
Dim r As Long
Dim pidl As Long
Dim path As String
Dim pos As Integer

bi.hOwner = Me.hWnd '句柄
bi.pidlRoot = 0& '展开根目录
bi.lpszTitle = "输出条形码位置 : " '列表框标题
bi.ulFlags = BIF_RETURNONLYFSDIRS '规定只能选择文件夹,其他无效
pidl = SHBrowseForFolder(bi) '调用API函数显示列表框
path = Space$(512) '利用API函数获取返回的路径
r = SHGetPathFromIDList(ByVal pidl&, ByVal path)

If r Then
pos = InStr(path, Chr$(0))
Folder_L.Caption = Left(path, pos - 1) '返回选择的目录位置
Else
Folder_L.Caption = ""
End If

End Sub





fishmans 2005-08-28
  • 打赏
  • 举报
回复
dirlistbox不就是这么个东西吗?
crazypeople 2005-08-28
  • 打赏
  • 举报
回复
就是让用户选择路径 可以手动输入 也可以通过一个点击选择 象commanddialog选择文件一样 选择
pweixing 2005-08-28
  • 打赏
  • 举报
回复
目的是什么??

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧