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
xIContextMenu
IContextMenu
IContextMenu
允許在外殼對象的上下文菜單中增加新的才單項Right drag and drop右拖拽文件類和外殼對象Windows
xIContextMenu
IContextMenu
IContextMenu
允許在右拖拽後出現的上下文菜單中增加新的才單項Drawing shell Icons繪制外殼圖標文件類和外殼對象Windows
xIExtractIcon對於一個文件類來說
可以選擇文件在運行時應該顯示那個圖標Property Sheet屬性頁文件類和外殼對象Windows
xIShellPropSheetExt向文件類屬性對話框中加入另外的屬性表頁
也適用於控制面板應用Lef
From:http://tw.wingwit.com/Article/program/c/201401/30256.html