计算机学习积累

----转载有理,转载是想研究,想研究才会看,看了才会有感想,转载后我有时会写一些自己的感受
数据加载中……

如何用CommonDialog实现只选择路径(转载)

用CommonDialog实现只选择路径:
   
Private Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (LpBrowseInfo As BROWSEINFO) As Long 
Private Declare Function SHGetPathFromIDlist Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As StringAs Long 
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 
Public Function GetFolder(Optional Title As String, Optional hwnd) As String 

    
Dim bi As BROWSEINFO 
    
Dim pidl As Long 
    
Dim folder As String 
     
folder 
= Space(255
     
With bi 
   
If IsNumeric(hwnd) Then .hOwner = hwnd 
   .ulFlags 
= BIF_RETURNONLYFSDIRS 
   .pidlroot 
= 0 
   
If Title <> "" Then 
      .lpszTitle 
= Title & Chr$(0
   
Else 
      .lpszTitle 
= "选择目录" & Chr$(0
    
End If 
End With 

pidl 
= SHBrowseForFolder(bi) 
If SHGetPathFromIDlist(ByVal pidl, ByVal folder) Then 
    GetFolder 
= Left(folder, InStr(folder, Chr$(0)) - 1
Else 
    GetFolder 
= "" 
End If 
End Function 
\'调用方式 
\'FilePath=GetFolder("打开一个目录", Form1.hwnd)

posted on 2006-07-03 09:06 freebird 阅读(867) 评论(0)  编辑  收藏 所属分类: vb


只有注册用户登录后才能发表评论。


网站导航: