剛開始用C++做界面的時候,根本不知道怎么用簡陋的MFC控件做出比較美觀的界面,后來就開始逐漸接觸到BCG Xtreme ToolkitPro v15.0.1,Skin++,等界面庫,以及一些網友自己寫的界面庫,開始對於C++軟件界面美化有了一點點的心得。不敢藏私,希望和一些新手朋友們分享交流。
一. 開源C++界面庫
1.RingSdk
Ringsdk是CSDN上一個前輩自己寫的界面庫,這個界面庫很輕而易舉實現QQ2009的界面效果。鏈接見
http://blog.csdn.net/ringphone/article/details/2911244 貌似Ringsdk和MFC無法進行交互,但是 RingSdk其中有很多的圖形處理的代碼都非常有參考價值。
2.redui的官方網站http://www.redui.org 已經打不開了。官方QQ群是 40729296
CSDN地址是
http://blog.csdn.net/jameshooo/article/details/6677272
這是官方的說明
REDUI,又名REDirectUI,全稱是Rendering Engine for DirectUI,是一款基於XML描述的 DirectUI 渲染引擎,能將“控件”的交互和渲染過程分解成多種獨立的要素,包括布局、視覺效果、樣式、UI自動化、濾鏡、腳本、事件、3D場景、3D模型、通用動畫等。通過這些要素的排列組合,可以呈現出各種不同效果的控件,甚至能在XML中直接自定義控件類型。支持2D/3D無縫融合。
• REDUI支持GDI/GDI+/DirectDraw/D3D等渲染方式,並有支持OPENGL/ES的願望
3.Duilib 這個就比較大名鼎鼎了,不用多說了吧。包括華為網盤在內的很多業內企業都在用這個界面庫。我用Duilib做了一個小型的界面。貼出來獻丑一個。
4.WGI-1.0.7-Demo-Project-for-windows 。。額。。時間太長,忘記了這個代碼是什么,姑且先忽略它。
5.cj60lib 這個玩過Gh0st3.6木馬的人都熟悉,是一款對MFC進行拓展的界面庫
6.金山界面庫 這個就不贅述了,可以直接上金山的論壇找源代碼和資料
7.skinTK_V0.20 一款類似於Skin++的開源界面庫
8.FreeCL_Skin2.3 一款不錯的控件庫 擴展了常用的MFC控件 。 這個是FreeCL_Skin提供的一個效果實例。
9.GuiLib1.5 一個老外寫的界面庫 沒有用過,沒有調查,就沒有發言權。大家自行百度。
10.基於3D的界面庫 MangoGUI_V0.1.5
MangoGUI是貓仔在DXUT基礎上修改得來的一個開源GUI系統。
目前來說基本上繼承了DXUT里面絕大多數的功能和改進了使用方式,讓DX學習愛好者更容易去使用GUI系統。
如果你也是一位對GUI有興趣的同學,非常歡迎你一同來參與到MangoGUI的設計當中來!
作者博客
11.基於Skia的directui庫metalbone
代碼托管地址
http://code.google.com/p/metalbone/
官方說明
MetalBone是一個C++ DirectUI庫。接口、命名等借鑒Qt,而並非使用Windows風格。
MetalBone的特點是,使用CSS來定制樣式(如果沒有CSS的話,則什么也不顯示,lol)。目前可以使用Direct2D或Google Skia來繪制界面。MetalBone使用的是 WWM協議(基於LGPL)
12.SonicUI2011
效果比較不錯的一款皮膚庫
作者CSDN地址是
13 基於OpenGl的界面庫 beGUI-0.1.3-src
代碼托管地址
http://code.google.com/p/begui/
二 未開源或商業界面庫
1.Flash4UI
看命名就知道是將Flash嵌入到UI中。
官方網站是 http://www.flash4ui.com/
效果圖片
2.bolt 迅雷7界面引擎
迅雷界面引擎,這個用過迅雷下載和迅雷看看的就有體會了,界面的確是做的非常的贊。而且流暢,CPU占用和內存各種都很棒。采用了腳本交互的方式,腳本語言采用了Lua.可惜的是迅雷只開放了接口SDK給個人使用。
3.clayui
百度百科說明 clayui是一個采用純C++編寫的界面框架,可以很方便的移植到各種系統上。現在支持的系統包括android,windows,wince,linux。clayui的特點是能實現各種2D,3D動畫,一些WPF,FLEX才能實現的界面效果,通過clayui可以很方便的實現。 clayui的底層渲染支持純軟件渲染,d3d,opengl es硬件加速渲染,您可以根據自身的需求選擇合適的渲染方式,使您界面的用戶體驗達到最佳效果
效果
4.DSkinLite
官方網址 http://www.uieasy.cn/dskinlite/
官方Demo
5.libuiDK
官方說明:LibUIDK是國際上頂尖的專業開發Windows平台下圖形用戶界面的開發包,也是國內第一款商業的高級界面開發工具。該開發包基於Microsoft的MFC庫。使用此開發工具包可輕易把美工制作的精美界面用Visual C++實現,由於LibUIDK采用所見即所得的方式創建產品界面,所以極大的提高了產品的開發速度,並大大增強圖形用戶界面(GUI)的親和力。LibUIDK還可以使您的軟件輕松具有當今流行的換膚功能,以提高產品的競爭力。
官方網站
http://www.iuishop.com/index.asp
實例
6. SiteUi SkinSE 都有官方網站。就不繼續搬磚的工作了。
7.(未開源)上海勇進UIPower
這個比較牛逼。一款界面庫就是大幾百萬的。老總闕海忠還親自錄了20集的界面庫相關的視頻
這是老闕的視頻。
8.炫彩界面庫
炫彩界面庫貌似是私人開發的一個界面庫,可以用C++.c#易語言等來開發。炫彩庫的作者貌似是湖北襄陽人喲。
9.魔方界面庫
MuiLib(Magic UI Library)Windows高級界面開發庫是在國內首家免費開源的DuiLib界面開發庫基礎上經過針對性的擴展而發展起來的,他繼承了DuiLib高度自由靈活的特點,並吸收了其他界面庫的一些優點,針對Windows層窗口按像素透明技術而重點優化后形成的一個優秀界面開發庫,是一個使用純C++調用Windows API的開發庫,無任何其他第三方依賴框架,您可以使用其提供的各種高級控件來創建更加炫酷的用戶界面
10 XtremeToolkit
由Codejock 公司出品的一款界面庫。應用也是比較廣泛的。在2013版的大灰狼遠程操控中就采用了這款界面庫。
11.Sharpui
代碼托管地址 https://github.com/china520/sharpui
Sharpui是居於現在流行的DUI思想的一套界面庫,可以方便實現半透明和各種界面效果,采用純c++實現,分為引擎和控件兩個部分,這兩個部分采用動態庫的形式提供,引擎部分處理了事件、資源、渲染、控制邏輯,同時提供了各種應用層面控件的實現基類,包括:Visual、Element、FrameworkElement、Control、ContentControl、Window、Panel、Popup,這些類封裝了基礎控件的實現細則,所有用戶實現的控件都必須繼承自這些類,對於需要呈現的控件必須繼承至FrameworkElement。
控件部分提供的所有控件均采用DUI方式實現、分層繪制,實現各種常用的布局控件,可靈活實現界面的自動布局;Sharpui本身所有數據結構采用原生實現,內存自動管理,不依賴於std的任何容器,使得庫的使用更加獨立、編譯更加簡單,使用VS任意一個版本編譯都可以用在其它版本里,不需要擔心由於std版本原因而產生編譯問題。
以上都是我在工作和個人業余時間收集積累的開源或商業界面庫,這些界面庫各有各的特色和側重點,也有不同的換膚思想,如果要用在項目中還是要進行適當的增刪整改。
由於個人能力水平見識有限,也有些大神的作品沒有被收錄其中。表示遺憾。
/**************************************************Witch_Soya***********************************************************/
/**************************************************2013年9月3日15:55:18***********************************************/
轉http://blog.csdn.net/witch_soya/article/details/10982451