DirectUI界面庫 取名自微軟的一個窗口類名“DirectUIHWND”,意為Paint on parent dc directly。即子窗口不以窗口句柄的形式創(chuàng)建,只是邏輯上的窗口,繪制在父窗口之上。微軟的“DirectUI”技術(shù)廣泛的應(yīng)用于Window XP系統(tǒng),Media Player播放器,即時通訊工具M(jìn)SN Messager。
傳統(tǒng)的window界面,是用戶窗口的層次排列,這種方式有很多局限性。目前的開發(fā)環(huán)境我們可以很快的使用win32控件構(gòu)造出標(biāo)準(zhǔn)的干凈的界面,但是我們同時也會立刻意識到如果我想像界面更加漂亮,更加炫一點就比較麻煩了。Windows控件提供的Custom-Draw/Ower-Draw技術(shù)局限太多,基本上沒有透明等效果支持,同時控件布局方面也比較古板。
DirectUI界面庫使用XML來描述界面風(fēng)格,界面布局,使用腳本語言(如vbscript,javas
這種界面庫設(shè)計的最大的好處在于可以很方便的構(gòu)建高效,絢麗的,非常易于擴(kuò)展的界面。國外如微軟,國內(nèi)如騰訊,百度等公司的客戶端產(chǎn)品多采用這種方式來組織界面,從而很好的將界面和邏輯分離,同時易于實現(xiàn)各種超炫的界面效果如換色,換膚,透明等。 DirectUI 界面庫旨在滿足客戶端界面快速開發(fā)的需要,同時融入業(yè)界前沿的皮膚技術(shù),為用戶創(chuàng)建更加高效,專業(yè)的界面。
其他特性:
* 使用xml配置界面控件布局
* 使用腳本(vbscript, jscript)控制控件屬性,響應(yīng)事件
* 使用xml描述界面風(fēng)格
* XML語法簡單,易于學(xué)習(xí)和掌握
* 基于Win32 API,沒有framework依賴。
* 支持改變皮膚色調(diào)
* 支持大多數(shù)控件透明,包括子窗口透明
* 支持png, bitmap, gif, ico圖片格式。支持帶透明通道的png圖片
DirectUI在微軟內(nèi)部使用的很廣泛了,為什么不公布出來呢?估計有三點原因:
1. 最初寫這套框架的人太牛了,根本沒寫什么注釋文檔,又經(jīng)過一堆牛人一通亂改,估計能看懂和用好的人不多。發(fā)布出來,大家一看原來微軟的代碼也可以這么亂,對Vista的信心更是大跌。
2. DirectUI只是一個UI框架,沒有什么數(shù)據(jù)庫,網(wǎng)絡(luò),WebSerivice支持,更別說同MFC,ATL集合,甚至可能沖突,為了顧全MFC的地位,WTL都可以犧牲,DirectUI更別說了。
3.DirectUI是C++開發(fā)的,這是什么時代了還用C++開發(fā),有了多快好省的DirectUI,誰還用.NET開發(fā)客戶端程序,同微軟的發(fā)展戰(zhàn)略不一致呀。
?
from url:http://blog.csdn.net/kissqi/archive/2009/06/30/4306628.aspx