什麼是SKINSE
SkinSE是一款真正意義上適合軟體界面開發的C++界面庫。採用XML管理GDI資源(如:圖片、字型、顏色等),最大程度將界面與邏輯分開,讓程式設計師有更多的時間去進行軟體內部的邏輯處理。SKINSE擴展了非常豐富的API接口,兼容其他界面控制項,使界面開發更加靈活、高效。SkinSE只用到了windows幾個底層的核心庫,沒有用到(MFC/ATL等第三方庫),採用純API編寫,採用C語言導出方式,增強可移植性,可以用於多種計算機語言。
SKINSE高級特性
1.SKINSE內部沒有完全採用HOOK攔截視窗的機制,主要採用子類化控制項,修改視窗過程函式的方式進行換膚。但是內置HOOK,可以動態設定HOOK,保證了SKINSE在整理構架上的靈活性。
2.SKINSE內置directui繪製思想,將界面繪製元素抽象成圖片、文本、矩形區域、線條、動畫,並且內置EventItem、DrawItem繪製機制。可以將這些繪製元素以及繪製機制組合開發,實現按鈕、單選框、複選框、分組框、Tab控制項、動畫控制項等界面控制項。
3.SKINSE提供了非常豐富的API接口,最大限度的讓SKINSE界面庫更加透明化、個性化,讓SKINSE界面庫的使用範圍得到最大延伸。
4.SKINSE在子類化進行控制項換膚的時候,儘量不修改控制項的默認屬性,最大程度地兼容window標準控制項的默認屬性。比如,目前市場上很多界面庫在繪製視窗標題欄的時候,去掉了視窗的WS_CAPTION屬性, 導致GetClientRect、GetWindowRect方法失效,從而加大了界面開發和設計的難度,當然也導致不能完美支持SDI/MDI等界面框架。
5.SKINSE提供了界面控制項動態布局的特性。省去了程式開發中最為繁瑣的視窗控制項位置的調整。只需要調整一下XML配置屬性,就可以進行完美布局。
6.SKINSE支持BMP、ICO、PNG、JPG等圖片格式,支持皮膚色調變換,提供SKINSE內部的圖像引擎接口。
7.SKINSE支持SDI、MDI等界面框架,支持20餘種界面控制項,完整兼容window 2000、window2003、window XP、vista、window7當前的主流作業系統。並且支持window平台的多種計算機語言開發。