我的问题是:
通用文件对话框和通用项目对话框之间的主要区别是什么?
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/