查了好幾天關於MFC應用程序換膚的資料,經過各種莫名其妙的問題的困擾,現分享一下自己的體會。希望可
以避免一些彎路。另外會在附上一些資源。
環境:Windows 7 + VS2012 + SkinSharp(注:Skin++、USkin、SkinMagic 用法相同)
1. 新建一個工程(工程名:Demo)(比如一個基於對話框的MFC程序)
如圖所示,注意不要勾選Use Unicode libraries ,否則可能會出現以下錯誤:見圖
2. 添加相關文件(.h .lib .dll 以及皮膚文件)
下面就以SkinSharp、Skin++、USkin、SkinMagic中的一種(SkinSharp)進行示范,其他三種的操作基本
是大同小異。如圖將SkinH.h和SkinH.lib文件導入工程文件的目錄中,如下圖所示:
請注意VC++6.0和VS2012下工程目錄的不同之處,應該是Demo->Demo文件夾下(Demo是工程名),
然后加入工程的Header Files下:
3. 添加必要的代碼
3.1 在stdafx.h中添加
#include "SkinH.h"
#pragma comment(lib, "SkinH.lib")
如圖:
在BOOL CDemoApp::InitInstance() 函數下寫
SkinH_Attach();
這句語句是加載默認的皮膚文件:skinh.she
3.3 試着編譯工程,產生Debug文件(或者Release文件)
將以下文件放入Debug目錄(工程根目錄下的Debug文件夾)中如圖:
3.4 再次編譯工程即可看到換膚的效果:(添加的是只是skinh.she皮膚文件)
3.5 實現更“自由”的換膚
將SkinH_Attach(); 改為下句
SkinH_AttachEx("../Debug/Skins/Green.she", NULL);
運行效果如下:
3.6 如果出現缺少SkinH.dll, 就將該文件再放到C:\Windows\System32和C:\Windows\SysWOW64文件夾下,
然后重新編譯運行就可以了。
4. 資源鏈接
Skin++、SkinSharp、USkin、SkinMagic以及該例程的代碼在如下鏈接中:
http://download.csdn.net/detail/u011239916/8750419
相關鏈接:http://www.codeproject.com/Articles/13946/Use-the-Free-USkin-Toolkit-to-Skin-your-Applicatio
以上就是VS2012下MFC對話框應用程序的界面美化,還可以利用皮膚制作軟件進行皮膚文件的制作,
讓自己的應用程序告別單調,從此煥發生機!如果在運行中出現問題,可以給我留言,可以交流討論。感
謝您的閱讀,如有錯誤和不妥之處,請指點。Thank you very much!