Delphi 7 - 窗体中的嵌入式文件打开对话框

时间:2008-11-07 15:44:28

标签: delphi delphi-7 topendialog opendialog

有谁知道是否可以在自己的表单中嵌入文件打开对话框?

我们有一个选项卡式对话框,在其中一个选项卡上,我们希望用户能够浏览具有与标准打开对话框相同功能的文件,例如'查看'组合框,放置栏,shell文件列表,文件名组合完成等等。

我已经看过用一些第三方组件重新创建对话框,即Jam Shell Browser Components

我可以通过这种方式获得大部分功能,但我遗漏了一些事情,例如:位置栏和文件名自动完成\建议

5 个答案:

答案 0 :(得分:5)

我不想说这是不可能的,但考虑到你可能涉及的丑陋的winapi黑客的数量我建议“用一些第三方组件重新创建对话”但是用 VirtualShellTools
VirtualShellTools可以从this SVN archive下载 并here's the google code project page

(至少它有文件名自动完成组合框,但我不确定它是否有位置栏)。希望它有所帮助。

答案 1 :(得分:2)

使用设置为大图标的TListView组件来实现位置栏并不困难。 Raize Components库也有一些有助于这个领域的来源。

答案 2 :(得分:2)

只需一个小注释,使用SHAutoComplete添加自动完成组合框相当容易。

有关详细信息,请参阅此article

答案 3 :(得分:2)

也许这Shell Controls Demo 可以帮到你。

Sample form

编辑:该网站的ATM似乎已关闭。 The Wayback Machine helps
以下是返回机器所涉及的控件的latest download link

答案 4 :(得分:1)

我会重新创建它:VCL组件不应该花很长时间。自动完成功能并不难,如果您查看windows文档足够长时间,您可以获取其余数据。

您可以通过检测选项卡更改并显示打开的对话框来尝试欺骗,就好像它是标签页一样。您必须检测用户在对话框外部单击(例如,在另一个选项卡上)并阻止其关闭,直到您想要更改标签。

干杯