C++BUILDER中调用SelectDirectory弹出选择文件夹对话框

c++buider中提供有TSaveDialog、TOpenDialog等打开保存指定文件名的对话框,但没有提供文件夹选择的对话框。那么,在BCB中如何弹出文件夹浏览对话框窗口,来选择文件夹呢?

null

c++builder中提供了SelectDirectory函数来实现我们想要的功能。

SelectDirectory函数弹出对话框,供用户选择目录。

该函数在FileCtrl.hpp中声明。

在对话框和消息例程分类下。

其定义有如下两种形式:

extern PACKAGE bool __fastcall SelectDirectory(constAnsiString Caption, const WideString Root, AnsiString &Directory);
extern PACKAGE bool __fastcall SelectDirectory(AnsiString &Directory, TSelectDirOpts Options, int HelpCtx);

第一种语法形式显示Windows系统目录浏览器外观。

参数 Caption 指定对话框的标题。

参数 Root 指定默认的浏览起始根目录。

最终选择的路径名通过参数 Directory 返回。

这种调用方式下,SelectDirectory 不会改变程序默认的当前目录的值。

注意:不要给参数 Root 和 Directory 赋值同一个变量。

第二种语法形式调用BCB自带的对话框。

参数 Directory 设定对话框显示时默认的选择路径。函数返回后,参数 Directory 的值为用户选择的路径。

参数 HelpCtx 为帮助内容ID,消息框按“Help”按钮或按F1出现的帮助文档,若无需帮助的话,设置为0即可。

参数 Options 为标志位组合。如果为空,用户只能选择已存在的目录;对话框不提供新建文件夹的编辑框。

如果参数 Options 不空,其值决定了用户键入不存在的目录是对话框如何处理。

以上两种方式,如果用户选择了路径,并点击确定按钮,SelectDirectory 函数均返回true;如果点击了取消或者关闭按钮,函数返回 false 。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容