delphi - 使用 Delphi 打开对话框的自定义预览

标签 delphi windows-vista preview pane topendialog

我需要在 Windows 7/Vista 的文件打开对话框中预览几种 CAD 格式。过去我使用 Delphi 预览打开对话框,我可以注册并实现我必须预览的 CAD 格式。我找到了一些关于如何在 Vista 中创建预览处理程序的文章,不幸的是这对我不起作用。我想知道是否有一种方法可以获取我创建的对话框的 IPreviewHandler 接口(interface)

最佳答案

我之前搜索过这些,但找不到确切的解决方案。

我发现 Microsoft 提供了 IFileDialogCustomize用于修改 Vista 或更高版本的新文件对话框的界面。 根据this article ,我们无法像XP或以前那样添加任何自定义控件,并且我们可以添加的控件非常有限,如下所示。

The provided controls are:

* Menu
* Button
* Combo box
* Radio button list
* Check button (check box)
* Edit
* Separator
* Label

如果微软没有提供其他接口(interface),我们就无法正确扩展文件对话框。

我认为目前我们可以提供的东西是:

  • 在文件对话框一侧打开自定义窗口。

    你用过IrfanView吗? ?如果将图像保存为 png 或 jpeg 格式,IrfanView 会在保存对话框的右侧显示选项设置窗口(下面的窗口是按传统方式自定义的,但也许我们可以使用新对话框执行类似操作)。 alt text http://img208.imageshack.us/img208/9128/irfanviewsaveas.png

  • 使用 shell 控件和一些新的自定义控件模仿新对话框

    这可能不太好,因为也许我们在左侧找不到增强的树控件,但是有了 rkSmartPath我们可以模仿新的路径栏,如下所示。 (我认为这是一项伟大的工作!)

alt text

如果有人使用虚拟 TreeView 或其他东西来实现对 Windows 7 新位置栏/树的模拟控制,我们可以提供良好的自定义对话框。 (即使对于 XP 用户也是如此。)

# 我认为组件供应商有机会为这个问题开发解决方案...

# 这是微软送给你的礼物! :-)

关于delphi - 使用 Delphi 打开对话框的自定义预览,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2204706/

相关文章:

function - Delphi:平滑折叠/展开形式

delphi - 如何将自定义格式的剪贴板数据粘贴到 TMemo 中?

ios - 在 iPhone 上录制并以 iPad 分辨率导出视频?(视频示例)

emacs - 在 Emacs-ESS 中预览颜色

delphi - delphi网络摄像头捕获:为什么在笔记本电脑上不起作用?

arrays - Delphi XE 字节数组索引

java - 在 Windows Vista 上请求 Java 应用程序的管理员权限

winapi - 为什么 GetWindowRgn 在 Vista 上失败?

.net - 在为 Vista 创建 MSI 安装程序时需要执行哪些额外步骤?

intellij-idea - IntelliJ IDEA 更改折叠代码的预览长度