极语言官方网站

文件夹对话框——选择文件夹

有两种可用的对话框样式。 较旧的样式默认显示,且不可调整大小。较新的样式提供了许多附加功能,

包括对话框中的拖放功能、重新排序、删除、快捷菜单、创建新文件夹的功能以及其他快捷菜单命令。

最初,它比旧对话框大,但用户可以调整其大小。

若要使用较新的样式指定对话框,请在 目录框类 结构的 选项 成员中设置新的界面和含编辑框标志。

如果实现在 目录框类 结构的 回调 成员中指定的回调函数,则会收到对话框的句柄。

此窗口句柄的一个用途是修改对话框的布局或内容。

由于它不可调整大小,因此修改旧样式对话框相对简单。

修改较新的样式对话框要困难得多,不建议这样做。

它不仅具有与旧样式不同的大小和布局,而且每次用户调整其大小时,其控件的尺寸和位置都会发生变化。

如果在 目录框类 结构的 选项 成员中设置了根节点标志,

则“确定”按钮仍对“\server”项以及“\server\share”和目录项保持启用状态。

但是,如果用户选择“\server”项,将 目录选框 返回的 PIDL 传递到 转换路径 会失败。


示例代码:
目录框类 目录(选项=$41);//选项=$40新的界面+1只含文件目录
文本 路径[64];//申请文本变量的内存缓冲区,用来存储目标文件夹的文字
程序段 窗体启动;//以上代码为全局变量,在窗体启动程序段进行赋值
目录.窗口=窗体;//指定目录对话框的窗口为程序主窗体
目录.路径=路径;//指定目录对话框的路径为文本缓冲区
结束//换到其它地方书写代码
程序段 按钮2_点击;//在按钮2的点击事件里弹出目录对话框
 整数 项目=目录选框(目录)//使用目录框类调用目录选框弹出对话框
转换路径(项目,路径);//将项目标识符列表转换为文件系统路径。
任务释放(项目);//释放目录选框返回的项目标识符列表。
结束//文本变量"路径"就是选择的文件夹

目录框类

中文名字英文名称长度作用解释
目录框类BROWSEINFO32用来获取用户选择的目录
目录框类 成员表
中文英文类型作用解释
窗口hwndOwner整数指向所在窗口的句柄。
目录pidlRoot整数ITEMIDLIST结构的地址,包含浏览时的初始根目录
路径pszDisplayName整数用来保存用户选中的目录字符串的内存地址。
标题lpszTitle整数浏览文件夹对话框的标题内容。
选项ulFlags整数描述了对话框的选项。1只含文件目录,2不含域名目录,4对话框可设置状态文本,8只返回文件根节点
$10含编辑框,$20检查名称,$40新的界面,$80可显示URL,$100用法提示,$200新建文件夹,$400快捷方式,
$1000显示计算机,$2000显示打印机,$4000显示目录和文件,$8000显示可共享资源,$10000可展开压缩文件或库
回调lpfn整数程序定义的浏览对话框回调函数的地址。
参数lParam整数对话框传递给回调函数的一个参数指针
图像iImage整数与选中目录相关的图像。该图像将被指定为系统图像列表中的索引值。