C++中Common File对话框和Common Item对话框的主要区别是什么?
问题描述:
我的问题是:C++中Common File对话框和Common Item对话框的主要区别是什么?
Common File对话框和Common Item对话框之间的主要区别是什么?
的MSDN只是说:
从Windows Vista开始,用来打开或保存file.We建议您使用公用项 当通用项对话框取代了旧的 通用文件对话框Dialog API代替公用文件 Dialog API。
但它没有说明它们之间有什么变化记录或主要区别?
感谢您的帮助。
答
通用文件对话框只是一个自定义的DialogBog。另一方面,Common Item对话框是一个完整的COM服务器。
微软的文档说:
将在Windows Vista中常见项对话框实现了早期版本中提供的实现提供了几个优点:
- 支持直接使用过的IShellItem的Shell空间的,而不是使用文件系统路径。
- 启用对话框的简单自定义,例如在OK按钮上设置标签,而不需要钩子程序。
- 通过添加一组数据驱动的控件来支持对话框的更广泛的自定义,该控件在没有Win32对话框模板的情况下运行。这个定制方案从UI布局中释放调用过程。由于对话框设计的任何更改都继续使用此数据模型,因此对话框实现不会与对话框的当前特定版本绑定。
- 支持对话内事件的调用者通知,例如选择更改或文件类型更改。还可以使调用进程钩住对话框中的某些事件,例如解析。
- 引入新的对话框功能,例如将来电者指定的位置添加到位置栏。
- 在保存对话框中,开发人员可以利用Windows Vista Shell的新元数据功能。
简单来说,使用简单的低级别的Win32程序很难。
+0
谢谢,+1投票给你。 – 2014-11-21 12:48:21
GetOpenFileName()=> IFileOpenDialog。主要的“差异”是从C风格的API到COM API。一个很大的区别。但是一个重大的改进。 – 2014-11-21 11:34:54
@HansPassant:感谢您的评论。你看到我更新的帖子了吗? http://stackoverflow.com/questions/26817372/tooltip-coloring-doesnot-work – 2014-11-21 12:47:25