首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

浏览文件夹 对话框,该怎么处理

2013-01-02 
浏览文件夹 对话框[imghttp://hi.csdn.net/space-5628048-do-album-picid-883500.html][/img]PB 如何实现

浏览文件夹 对话框
[img=http://hi.csdn.net/space-5628048-do-album-picid-883500.html][/img]

PB 如何实现上图的功能
[解决办法]
http://topic.csdn.net/u/20110411/11/3cfdf042-0060-4d01-8d51-a35496af86d2.html

api声明

FUNCTION Long SHBrowseForFolder (REF BROWSEINFO lpBrowseInfo)LIBRARY "shell32.dll" ALIAS FOR "SHBrowseForFolderA"
FUNCTION Long SHGetPathFromIDList(Long pidList, REF string lpBuffer)LIBRARY "shell32.dll" ALIAS FOR "SHGetPathFromIDListA"

相关结构体
Type BROWSEINFO From structure
    Long   hOwner
    Long   pidlRoot
    String pszDisplayName
    String lpszTitle
    Long   ulFlags
    Long   lpfn
    Long   lParam
    Long   iImage
End Type

代码
//browse filepath
Long lpIDList
String ls_FileFolderPath
//相关常量
CONSTANT Long MAX_PATH = 260

CONSTANT Long BIF_BROWSEFORCOMPUTER = 4096
CONSTANT Long BIF_BROWSEFORPRINTER = 8192
CONSTANT Long BIF_BROWSEINCLUDEFILES = 16384
CONSTANT Long BIF_BROWSEINCLUDEURLS = 128
CONSTANT Long BIF_DONTGOBELOWDOMAIN = 2
CONSTANT Long BIF_EDITBOX = 16
CONSTANT Long BIF_NEWDIALOGSTYLE = 64
CONSTANT Long BIF_RETURNFSANCESTORS = 8
CONSTANT Long BIF_RETURNONLYFSDIRS = 1
CONSTANT Long BIF_SHAREABLE = 32768
CONSTANT Long BIF_STATUSTEXT = 4
CONSTANT Long BIF_USENEWUI = 64
CONSTANT Long BIF_VALIDATE = 32
//=======================================

BrowseInfo lstr_BroInfo
//初始化文件夹浏览对话框结构
lstr_BroInfo.hOwner = Handle(Parent)
lstr_BroInfo.lpszTitle = "请选择要浏览的文件夹:"
//允许浏览计算机
lstr_BroInfo.ulFlags = BIF_BROWSEFORCOMPUTER + BIF_USENEWUI
//显示文件夹浏览对话框
lpIDList = SHBrowseForFolder(lstr_BroInfo)
ls_FileFolderPath = Space(MAX_PATH)
SHGetPathFromIDList(lpIDList, ls_FileFolderPath)

IF lpIDList <> 0 THEN
    messagebox('',ls_FileFolderPath)
end if

热点排行