当你们看到瑞星或者迅雷上可以更改皮肤的时候,是否会想到以后在自己写的程序上也有这项功能呢?
这个程序是我在看了好多人的步骤才总结出来的,希望给后来人参考一下,希望其少走一些弯路。
我做的步骤是一下这样的:
1:从网上下载一个SkinMagic的文件包,如果没有的话,可以给我写信,我发给你们,我的Emaile:hxwm1a1@163.com
2:把这个SkinMagic解压出来以后,你会发现,其中有四个文件, SkinMagicLib.h,SkinMagicTrial.dll,SkinMagicTrial.lib和Skins文件夹。
3:自己用VC建立一个基于SDI的MFC程序,然后把以上四个文件拷贝到该工程的根目录下,然后把以上四个文件中除了Skins的其它三个文件添加到工程里。
4:在Stdafx.h头文件中,添加#include "SkinMagicLib.h"。
5:在C**App类中打开InitInstance()函数,在函数其开始部分增加
VERIFY( 1 == InitSkinMagicLib( AfxGetInstanceHandle(), _T("ReadUI") ,NULL,NULL ) );
VERIFY( 1 == LoadSkinFile("Skins//corona.smf"));
VERIFY( 1 == SetDialogSkin( _T("Dialog") ) );
在InitInstance()函数最后,但在以下代码之前,
// The one and only window has been initialized, so show and update it.
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
加入如下代码
VERIFY( 1 == SetWindowSkin(m_pMainWnd->m_hWnd , _T("MainFrame") ) );
通过类向导给C**App增加ExitInstance() 函数,内容如下
ExitSkinMagicLib();
return CWinApp::ExitInstance();
编译运行一下你就可以看到多彩的皮肤啦!