打开文件夹浏览框的原理参数的解释,求大神拯救

打开文件夹浏览框的原理参数的解释,求大神解救
本帖最后由 bcrun 于 2014-04-28 09:45:12 编辑
'浏览文件夹
Public FunctionBrowseForFolder(Optional sTitle As String = "请选择文件夹") As String
Dim iNull As Integer, lpIDList As Long,lResult As Long
Dim sPath As String, udtBI As BrowseInfo

With udtBI
.hWndOwner = 0 ' Me.hWnd
.lpszTitle = lstrcat(sTitle,"")
.ulFlags = BIF_RETURNONLYFSDIRS
End With
lpIDList = SHBrowseForFolder(udtBI)
If lpIDList Then
sPath = String$(260, 0)
SHGetPathFromIDList lpIDList, sPath
CoTaskMemFree lpIDList
iNull = InStr(sPath, vbNullChar)
If iNull Then
sPath = Left$(sPath, iNull - 1)
End If
End If

BrowseForFolder = sPath
End Function




求解释各种参数,以及原理
求各位大神打救,可以的话一句句的解释
------解决方案--------------------
最核心的一句话是SHBrowseForFolder
它是调用了Shell32中的一个API函数。
------解决方案--------------------
这个用于目录选择,CommonDialog用于文件选择。如果是指定文件名,保存图片,用后者。
------解决方案--------------------
SavePicture Picture1.Image, CommonDialog1.FileName
------解决方案--------------------
自己做一个判断。
------解决方案--------------------
没有办法检测PictureBox是否有图片,Picture.Handle Image.Handle Nothing都不好使
你只能自己判断,在LoadPicture成功时就True在清除图片时就False,然后去判断