调用getfolder方法打开的浏览文件夹窗口,想新建文件夹功能如何做?

wleili 2011-04-11 11:02:39
调用getfolder方法打开的浏览文件夹窗口,不能新建文件夹,想能打开浏览文件夹又能新建文件夹如何做?
...全文
304 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jshcheer 2012-10-23
  • 打赏
  • 举报
回复
借用了
wleili 2011-04-11
  • 打赏
  • 举报
回复
yyoinge 再请教个问题,上面的代码如何做到修改默认路径,现默认为根目录,我现在要改为默认在D:\...
wleili 2011-04-11
  • 打赏
  • 举报
回复
非常感谢可以了!
yyoinge 2011-04-11
  • 打赏
  • 举报
回复
用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
yyoinge 2011-04-11
  • 打赏
  • 举报
回复
CreateDirectory ( ls_path )
yyoinge 2011-04-11
  • 打赏
  • 举报
回复
默认不了,必须使用回调函数才可以设置,但是PB不支持回调函数

604

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 控件与界面
社区管理员
  • 控件与界面社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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