SkinMagic的使用方法-——为VC开发程序换皮肤

来源:互联网 发布:网络举报工作心得体会 编辑:程序博客网 时间:2024/04/26 19:05

http://blog.csdn.net/shanzhizi


自从学习了VC以后,开始对MFC编程有了很大的兴趣,于是就到处找用VC写的应用程序,学上几招,自己也写个小应用程序来玩玩。于是第一个下手的便是“Autorun.inf免疫器,其中的代码倒不是问题,只是总觉的VC6.0的控件和皮肤有点让人看不下去……什么?自己贴图?我可没这本事啊……然而某日偶发现了这个——SkinMagic,正好实现了我的要求。

先到百度上搜索SkinMagicToolkit并下载回来,里边包含以下的文件:SkinMagicLib.h头文件;SkinMagic.lib +SkinMagic.dll动态连接库文件;SkinMagicLibMD6.lib发布版的静态连接库;SkinMagicLibMT6.lib调试版的静态链接库。由于向我这样的新手写的应用程序也就一个可执行文件,所以在这里就先说一下静态链接的方法并且把皮肤文件加载到资源中。

1.首先要把SkinMagicLib.hSkinMagicLibMT6.lib放在工程目录下。
2.
C***App所在的cpp文件中加入#include"SkinMagicLib.h"
3.
在菜单Project|SettingsLink选项卡下的Object/library modules中加入SkinMagicLibMD6.lib,将发布版的静态库加到工程中。
4.
将皮肤加载到资源中:资源视图中项目名上右键Import,选择皮肤文件(在skin文件里),弹出对话框中的Resource type中填入 SKINMAGIC。修改资源IDIDR_SKIN_XPGREAN(xpgrean.smf为例)
5.
C***AppInitInstance()函数的开始部分加入如下代码:
VERIFY( 1 == InitSkinMagicLib( AfxGetInstanceHandle(), _T("ReadUI"),NULL,NULL ) );//
初始化
VERIFY(1 == LoadSkinFromResource(NULL, (LPSTR)IDR_SKIN_XPGREAN,"SKINMAGIC"));//
载入皮肤资源
VERIFY(1 == SetDialogSkin("Dialog"));//
设置对话框皮肤
如果是文档程序就加入下面一句代码:
VERIFY(1 == SetWindowSkin(m_pMainWnd->m_hWnd, "MainFrame"));//
设置窗口皮肤
以上的函数在SkinMagicLib.h头文件中有详细的定义和解释。
关于VERIFY干什么用的请自己查阅MSDN

6.打开ClassWizardC***App中添加ExitInstance()函数加入如下代码释放SkinMagic资源:
ExitSkinMagicLib();
7.
编译运行,窗口皮肤好看多了,呵呵。
你也可以尝试一下其它的皮肤,当然如果你认为自带的皮肤不够好,你也可以找找SkinMagicSDK,通过SkinBuilder来编辑自己的皮肤。
如果使用动态库的话,只需把SkinMagic.libSkinMagic.dll动态连接库文件放到工程的文件夹下,将SkinMagic.lib导入到工程中即可,只是发布是要带着SkinMagic.dll文件一起发布。
OK
,换肤成功!如果你看完了上面的文字有不明白的地方可以向我提问,我会给你讲到明白为止的,呵呵!