用VC做程式的時候,如果對介面樣式不滿意怎麼辦?自己從各種控制項基類繼承,然後自繪嗎?對高手來說,這雖然不能算是難題,但是仍舊比較麻煩,對新手來說,連看什麼書都不好說。那就沒有更好的方法嗎?當然有!這就要用到一類稱作“介面換膚”的工具包了。
且看這些工具包有什麼作用。當你使用一個介面換膚工具包的後,在不改變代碼的基礎上(除了使用庫函數),你的程式將變成另外一個樣子,當然這個樣子可以很cool,也可以很poor。下面我們來看看當今有什麼好的換膚工具包可以使用。
1、SkinMagic
這個是一個比較強大的換膚工具包,通過在自己的應用程式中包含SkinMagicTrial.dll、SkinMagicTrial.lib、SkinMagicLib.h和*.smf皮膚檔案即可實現介面換膚的功能。另外,它還內建了一個SkinBuilder,可以製作自己的皮膚檔案,並應用到我們自己的應用程式中。它的功能很豐富,有近20個SDK形式的API可以調用,用以輔助換膚功能。它目前的最新版是2.4,可以到它老家下載http://www.appspeed.com,但是下載回來的只是一個試用版。試用版會有所限制,主要表現在:當我們開啟添加了皮膚的應用程式的時候,會出現一個未註冊的對話方塊;在SkinBuilder中會有一些限制,如未註冊無法匯出圖片等。當然,這些限制完全可以通過反組譯碼的方法破解掉,有需要的朋友可以參看我的另一篇文章《關於SkinMagic的破解》。
2、Skin++
這個換膚工具也比較不錯,主要是從它的作用結果看出來的。這個由上海勇進公司開發的控制項陳列庫現在也有很多版本,可以對應VC從6到8,而且支援其他語言。在它的官方首頁上可以下載到最新2.0.1版的DEMO,也因為是DEMO,所以可用的功能少的可憐,只能看看人家的效果了。另外,現在網上有這個版本的破解檔案,我沒有做測試,不知能不能用。即使假設它能用,但是DEMO版的Skin++沒有附帶皮膚編輯器,所以其皮膚檔案自然也沒法自己製作了。
3、AppFace
這也是個不錯的換膚工具,附帶皮膚編輯器,而且其皮膚編輯器還支援鎖定皮膚的使用許可權,當然這需要有序號了。按照這個軟體的說法,它在載入皮膚的工作上進行的最佳化,所以看起來它的執行效率還是不錯的。網上可以下載到它的demo版,限制是沒有一個安裝程式,所以也就沒法在發布軟體的時候用了,而且開發庫appface.dll也有20天的試用限制,目前還沒有破解。
4、USkin
這個東西太棒了,而且完全是免費的,也用不著破解,它提供了免費庫可以無限制的使用。另外它還配有一個十分專業的皮膚編輯器,用於製作*.u3類型的皮膚檔案。當前的版本是2.2,不過按照官方的說法,現在已經測試並準備發布2.3版了。當然,天下沒有免費的午餐,這樣一個專業又cool的軟體也是有一些限制的。這體現在它那個專業的皮膚編輯器裡面:對於按鈕的設計,免費版不支援高亮的效果,另外在我使用的時候,Frame和ProgressBar都沒有Background屬性,這樣就沒法製作自己意願的皮膚了,這多少是一種遺憾。其實現形式和SkinMagic類似。
5、SkinCrafter
這個軟體製作的皮膚效果相當的囂張,當然也是足夠cool了!它的皮膚編輯器也很強大,支援的功能也很多。不過這樣囂張的軟體,在限制上更加囂張了。首先是運行應用程式的時候會彈出一個對話方塊,其次是在應用程式的標題列中添加未註冊的字串。這個最新版的破解我還沒有找到,但是較低的1.8.2版的破解補丁我還是有的。另外,這個似乎對Windows2000的支援很不好,運行時會出現核心錯誤,而在Windows XP上則沒問題。
6、ActiveSkin
這個工具是用ActiveX組件技術實現的,在添加初始化代碼的時候稍微有些複雜,而且使用方法也和之前的各種不太相同。它依賴%windir%/system32/activeskin.ocx來工作,不過這個ocx組件已經被破解了。它的功能也比較不錯,只是其皮膚編輯器不支援豐富的控制項,記憶中連ProgressBar都不能支援,不知道是不是demo的問題(破解只能使其不出現未註冊對話方塊)。
7、DirectSkin
這個是由WindowBlind的那個公司(www.stardock.com)開發的,實現方法也是採用組件的方式,網上可以下到demo版,不提供皮膚編輯器,另外限制也比較多。關於它,我沒有做過多的實驗。
以上都是一些比較成熟的換膚工具,它們都提供了不錯的定製方案,有的可以添加聲音,有的可以支援alpha混合,有的可以支援動畫,有的還可以支援直接從WindowBlind的皮膚匯入,反正是五花八門,爭奇鬥豔。
另外還有一個比較小型的,某種程度上說還不成熟的換膚工具,比如SkinLoad、LibUIDK等。
要是讓我做個總結的話,如果有一種結合了Skin++的多平台、SkinCrafter的皮膚編輯器、USkin的免費理念和SkinMagic的實現形式,那將是一個十分強大換膚工具。另外,如果有更多的高手可以寫寫如何自己製作換膚工具的話,對於想要學習的人來說,將是多麼可貴的財富呵~
不過沒有也沒有關係,將來在WPF上做就好了。
本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/wuhuiran/archive/2007/05/23/1622691.aspx