Windows UI 新特点之一信息条提示(Infotip)
原文参见MSDN Magazine March
编译/赵湘宁 本文源代码
本文假设您熟悉windows的外壳编程及ATL
摘要 Windows 引入了许多很有用的用户界面新特点我们能在自己的应用程序中定制和实现这些用户界面本文是由一系列文章组成将探讨包括信息提示(Infotip)增强文件夹特性搜索管理图标覆盖和快速启动工具条在内的几个新的UI编程使用它们来丰富系统外壳的功能 阅读本篇系列文章之后您将学会Windows 用户界面编程的几个新特点
如何为文件提供infotips(信息条提示)特性
如何创建一个定制的栏目管理器扩展(column handler extension)它使我们能通过Windows的资源管理器在查看菜单的详细资料栏的视图中看到新创建的文件属性栏目
为了进一步扩展外壳我们还将另外实现几个界面特点搜索管理清除管理使用属性页的文件夹定制图标覆盖以及上下文菜单外壳扩展
随着 Windows 操作系统的不断更新其用户界面也在随之推陈出新甚至有一些人已经在抱怨微软公司花太多的精力来开发用户界面而在操作系统的其它功能上创新不够这个说法是否正确有待广大Windows用户来评判 探究 Windows 的几个UI新特点可以发现Windows用户界面的几个发展趋势首先是脚本尤其是WSH将取代命令行其次是新的用户界面为将来定制自己的应用程序提供了更好的(基于COM的)图形用户界面接口第三是应用程序将与系统外壳(SHELL)结合得更紧密
对系统外壳的简单回顾 外壳扩展是一个COM进程内服务器它由资源管理器 (Explorer) 来调用以响应系统外壳内发生的事件只有少数几个任务是靠资源管理器与用户定义的应用来协作完成在开始这些任务之前资源管理器查找这些注册的模块并加载它们从概念上讲这些模块相当于回调函数而回调函数是由Windows引入并影响了整整一代程序员的着名编程特点 外壳扩展需要实现一对COM接口一个提供特定行为另一个用于初始化目的另外外壳扩展必须要有精确的注册方案它们必须在适当的地方创建正确的注册入口以便资源管理器在需要时能找到并加载它们 下表列出了目前可获得的所有外壳扩展类型需要的最小版本号有关的接口和简单描述
(表一) 类型类型说明适用于版本有关的接口描述Context Menu上下文菜单文件类和外壳对象Windows xIContextMenuIContextMenuIContextMenu 允许在外壳对象的上下文菜单中增加新的才单项Right drag and drop右拖拽文件类和外壳对象Windows xIContextMenuIContextMenuIContextMenu允许在右拖拽后出现的上下文菜单中增加新的才单项Drawing shell Icons绘制外壳图标文件类和外壳对象Windows xIExtractIcon对于一个文件类来说可以选择文件在运行时应该显示那个图标Property Sheet属性页文件类和外壳对象Windows xIShellPropSheetExt向文件类属性对话框中加入另外的属性表页也适用于控制面板应用Lef |