原文位址::http://www.uieasy.com/cn/blog/?p=473
客戶經常來信詢問該如何選擇界面庫産品:
“你們的産品跟其他同類産品相比有什麼優勢?”
“你們的DSkinLite界面庫跟DirectUI界面庫有什麼不同,哪個産品更适合我們公司?”
前面的三篇文章分别介紹了:
如何選擇VC界面庫産品(一)– 選擇界面庫産品需考慮的因素
本文主要介紹UIEASY DSkinLite庫界面産品的特點及優勢。
DSkinLite界面庫産品
DSkinLite 是一款輕量級的C++界面庫,未使用複雜的Hook操作,僅使用替換視窗過程的方式(SubclassWindow)來處理控件界面繪制。使用XML檔案管理GDI資源如顔色,字型,圖檔,并描述界面構成,最大程度的将界面和程式邏輯分離,同時為軟體皮膚更換,換色等提供基礎支援。
同時UIEASY首次創造性的将界面構成元素抽象為線條元素,矩形元素,圖檔元素,文本元素,并提供相應規則來使用這些元素“組合” 界面。這極大的提高了界面庫産品的靈活性,使得界面庫産品可以随意構造出多種多樣的控件界面。
DSkinlite融合了DirectUI元素并提供多款自繪控件。
DSkinLite秉承UIEASY界面産品設計理念- 高效,簡單,靈活,穩定。擁有以下顯著特點:
簡單易用
DSkinLite界面庫API及XML配置文法簡單,開發人員一般可以在2-3天内熟悉使用方法。DSkinLite界面庫API共20個左右,常用API函數應該在5左右。同時DSkinLite采用C++編寫,專為Visual Studio開發者設計,開發者可以很容易的将DSkinLite整合到已有軟體工程中或者迅速開發新的軟體。
DSkinLite使用XML配置界面樣式,定義界面資源(字型,顔色,圖檔)等。借助于XML的靈活的文法,可以描述多種多樣的控件界面風格。是以不管您是否有意選擇DSkinLite界面産品,您都可以下載下傳我們的使用試用版,了解DSkinLite界面庫的設計風格,相信會讓您了解一種全新的界面産品設計理念,給您的界面開發帶來啟發。
界面配置靈活
界面配置靈活。DSkinLite界面庫采用XML管理GDI元素,并獨創了将界面元素抽象為圖檔,矩形,線條,文字等元素。任何一個控件界面均可以由這些元素來組合,使用DSkinLite可以輕松配置各種界面效果。如下圖所示:
由此在一個控件界面中,可以靈活的配置界面元素,可以滿足絕大多數界面設計需要。
動态的控制界面元素。同時DSkinLite提供相應的API可以控制這些元素(image,text,rect)的顯示/隐藏,同時修正某些屬性,如image的picfile屬性即更換圖檔,text的content屬性即文本内容。這種界面需求在界面開發中十分常見。如:
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
控件支援全面
DSkinLite除支援一般控件之外,還完整支援各種控件的内置滾動條。同時還采用可以配置listctrl,listbox,treectrl等控件的item内容的繪制,無需額外編寫繪制代碼。具體請參見:
Item控件(List control, List Box, Tree Control)繪制(一)–DrawItem配置
同時針對Win32控件本身的一個局限,DSkinLite中加入了一些自繪的控件,來解決使用标準Win32控件無法解決的界面需求。詳細了解,WidgetTree自繪控件,WidgetTab自繪控件。
DSkinLite 新特性– 自繪樹形控件(QQ好友清單)
DSkinLite新特性—WidgetTab
高效圖形繪制子產品
DSkinLite未使用GDI+等圖形庫,使用針對公司開發的圖形庫來繪制界面,圖形庫對界面程式設計優化并擴充;支援各種paintmode(參考DSkinLite 使用技巧(六) – 繪制元素),同時支援png,bmp,gif, jpeg等圖形格式。
與其他産品組成界面解決方案
DSkinLite界面庫周邊産品完善。
DSkinControl( For MFC ) 是一款MFC擴充控件庫,同時使用DSkinLIte處理界面繪制。了解更多關于DSkinControl 控件庫:
UIEASY 控件庫DSkinControl ( For MFC) V1.0 釋出
DSkinControl( For MFC) 新控件 StackWnd
ekRichEdit控件為一款RichEdit擴充控件,主要對微軟RichEdit控件做擴充,實作顯示圖檔動畫,文本,超連結等,滿足Windows用戶端軟體對富文本控件的需求。同時我們針對IM等聊天視窗中的需求,封裝相應的類來支援;可以滿足IM軟體對RichEdit的基本需求。了解更多關于ekRichEdit控件:
RichEdit擴充控件–ekRichEdit簡介
RichEdit擴充控件– ekRichEdit API 說明
DSkinLite界面庫與這些控件産品完全相容,可以同時在軟體産品中使用。
産品穩定
DSkinLite界面庫産品自2008年推出以來,先後經曆三次大的版本釋出,并持續更新至今,最新版本為V3.7.5.3。未來還将有更多的新特性加入DSkinLite。
DSkinLite産品從推出以來,受到市場廣泛好評。企業客戶遍及中國,南韓,日本,美國,印度,歐洲。歡迎您與我們聯系,索取成功案例資訊。
DSkinLite詳細功能特性
界面庫統一特性:
功能特性 | 較長的描述 |
界面色調動态調整 | 支援界面整體換色調,同時可自由控制圖檔,文字,控件等是否換色。可通過HSL和color兩種方式來更換色調。 |
多種皮膚加載方式 | 支援從檔案夾,壓縮檔案,VC資源三種方式加載皮膚 |
全面支援滾動條 | 除支援list box, edit,rich edit, list control, tree control等滾動條外,也支援windows内置的滾動條。 |
皮膚檔案打包 | 可使用我們提供的SkinBuilder工具,将皮膚檔案整體打包。 |
高速圖檔解析庫 | 支援多種圖檔格式 支援bitmap,png帶透明通道,gif,jpeg等格式。 采用公司研發的圖檔解析庫,針對界面程式設計做了諸多優化和擴充。 |
支援多個開發平台 | 支援MFC,ATL,WTL,win32等多個開發環境,同時支援VC6-VS 2010 多個平台。 |
靜态庫 | 可提供VS 2003 – 2010 各個平台下的靜态庫版本 |
Unicode | 支援Unicode/多位元組開發環境 |
支援控件自繪 | 提供控件背景自繪功能,使用者可以DSkinLite繪制控件前或者繪制控件後,根據提供的接口繪制控件界面。同時支援list control,listbox,tree control等控件自繪功能。 |
動态控制界面顯示效果 | 可以根據程式邏輯動态控制控件界面的顯示效果,如更換控件背景,控件文本等。 |
支援動畫顯示 | 支援動畫顯示,并通過API控制動畫顯示。支援gif格式,和多張png圖檔格式組成的動畫。 |
自定義資料支援 | 可以在XML中配置控件的自定義的屬性。例如:控件大小,行高以及每行的顯示内容等,這樣可以大大的友善換膚以後的整體的效果。 |
動态加載xml配置檔案 | 完全支援插件式開發。在插件式界面開發中,某些界面可能是後來通過更新等方式添加的功能子產品,DSkinLite可以動态加載這些插件界面的xml配置檔案。 |
支援控件、子視窗透明 | DSkinLite高效支援大部分控件,子視窗透明,以及多層視窗透明。 |
ToolTips支援 | 可以自由在XML定義控件tooltips提示語,也可以通過函數dsSetToolTips動态設定。 |
标題欄添加控件 | 支援在視窗标題欄區域,添加控件。 |
支援美化的MessageBox | DSkinLite通過API dsMessageBox支援MessageBox的美化,您可以完全配置MessageBox視窗背景,提示icon圖示等。 |
控件類型支援
功能特性 | 較長的描述 |
支援标準控件 | 支援static,button,checkbox,radiobox,edit,listbox,list control, tree control combobox, header control, group box, slider,spin, tab control, progress,toolbar control. menu, richedit,datetime control. |
支援Split button | Split button,是指一個button有兩部分,左右均可響應事件。 |
完全支援Menu的繪制 | 支援Menu背景,item繪制,同時支援設定item圖示ico。 |
支援Item繪制 | 支援根據XML定義list control,tree control, list box等item的風格,并繪制item。同時支援定義eventitem響應事件。 |
dsTreeControl自繪控件 | dsTreeControl(WidgetTree)控件是一款類似Tree control的樹形控件,主要支援一些标準樹形控件不能完成的功能,如設定不同item的不同高度。 |
dsTabControl自繪控件 | dsTabControl(WidgetTab)控件是一款類似Tab control的樹形控件,主要是為了解決标準Tab控件的限制,滿足更多需求。 |
下一篇文章:
如何選擇VC界面庫産品(三)–- DirectUI界面庫産品