.net - 更改/添加控件到窗口打开/保存通用对话框

标签 .net c++ openfiledialog savefiledialog

有没有一种方法可以更改/添加到窗口打开/保存通用对话框以添加额外的功能?

在工作中,我们在服务器上有一个区域,其中有数百个“工作文件夹”——只是由数据库应用程序自动创建/管理的普通 Windows 文件夹,用于存放有关工作的信息(电子邮件/扫描的传真/Word 文档/电子表格/照片等) ) 文件夹以作业编号命名。

我想用一个组合框扩展标准的打开/保存对话框,该组合框根据数据库中的标签搜索工作文件夹,这样无论我的用户在做什么,他们都可以轻松找到正确的工作文件夹以查找/保存他们的工作文件夹工作

连接到数据库并提供搜索功能没问题,但是有没有办法向对话框添加组合框控件(最好使用按键/按键事件)?

或者创建我自己的对话框并调用/使用它来代替标准对话框?即从任何应用程序我的对话框将被调用允许轻松访问工作文件夹。如果他们在 Outlook 中,他们可以快速找到工作文件夹,如果使用记事本,他们仍然可以轻松找到该文件夹​​。

这意味着可以通过一种新的统一方式从任何应用中查找工作文件夹。

理想情况下,有人会知道使用 VB/VB.net/C# 的方法,但我猜,如果可能的话,它可能会是 C++。

最佳答案

正如 Mark Ransom 所说,您可以使用 OFN ENABLETEMPLATE 和 OFN ENABLEHOOK 标志来实现。然后,您将对话资源指定给 OPENFILENAME 结构的 lpTemplateName 数据成员。正确放置控件需要反复试验。

您编写的 Hook 过程将接收特定于该对话框的窗口消息 - 您对 WM_NOTIFY 消息特别感兴趣 - 有很多特殊消息(CDN INITDONE、CDN FOLDERCHANGE 等)。

我已经创建了一些非常精细的,我希望我可以包含一个屏幕截图。

关于.net - 更改/添加控件到窗口打开/保存通用对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/149119/

相关文章:

c++ - boost multi_polygon 相交不编译

c# - 有没有办法自定义 OpenFileDialog 来选择文件夹而不是文件?

ios - 从 iOS 应用程序打开文件查看器 (PDF)

.net - 如何在 VBA 中使用 .NET 类?语法帮助!

.net - Httpwebreqest 与 Fiddler 一起使用,否则超时

c# - 如何使用C#获取Excel中当前打开的文档?

c# - 用c#替换word文档中的占位符

c++ - 访问其对象位于模板类 vector 中的特定子类函数

c++ - 指针、数组和结构(以及分配内存)?

c# - 模拟时使用 OpenFileDialog 访问映射的驱动器