gpt4 book ai didi

c++ - C++中的通用文件对话框和通用项目对话框之间的主要区别是什么?

转载 作者:可可西里 更新时间:2023-11-01 09:53:11 25 4
gpt4 key购买 nike

我的问题是:

通用文件对话框和通用项目对话框之间的主要区别是什么?

MSDN 只是说:

Starting with Windows Vista, the Common Item Dialog supersedes the older Common File Dialog when used to open or save a file.We recommend that you use the Common Item Dialog API instead of the Common File Dialog API.

但它没有解释更改日志或它们之间的主要区别是什么?

感谢您的帮助。

最佳答案

通用文件对话框只是一个自定义的 DialogBog。另一方面,Common Item Dialog 是一个完整的 COM 服务器。

Microsoft 的文档说:

与早期版本中提供的实现相比,Windows Vista 中的通用项对话框实现具有多项优势:

  • 支持通过 IShellItem 直接使用 Shell 命名空间,而不是使用文件系统路径。
  • 允许对对话框进行简单的自定义,例如在“确定”按钮上设置标签,而无需 Hook 程序。
  • 通过添加一组无需 Win32 对话框模板即可运行的数据驱动控件,支持对对话框进行更广泛的自定义。这种定制方案将调用过程从 UI 布局中解放出来。由于对对话设计的任何更改都将继续使用此数据模型,因此对话实现与对话的特定当前版本无关。
  • 支持对话中事件的调用者通知,例如选择更改或文件类型更改。还使调用进程能够 Hook 对话中的某些事件,例如解析。
  • 引入了新的对话功能,例如将调用者指定的位置添加到位置栏。
  • 在“保存”对话框中,开发人员可以利用 Windows Vista Shell 的新元数据功能。

简单地说,它更难从简单的低级 Win32 程序中使用。

关于c++ - C++中的通用文件对话框和通用项目对话框之间的主要区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27058807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com