1copy SkinMagicLib.h SkinMagic.dll SkinMagic.lib corona.smf
到工程目录
一定要链接到项目中去 项目-----属性 ----输入------附加库中输入 SkinMagic.lib
2、在stdafx.h中加入头文件和库的引用,如下:
#include "SkinMagicLib.h"
3初始化SkinMagic库:
int __stdcall InitSkinMagicLib( HINSTANCE hInstance,
LPCTSTR lpApplication ,
LPCTSTR lpReserved1,
LPCTSTR lpReserved2 );
在 CxxxApp::InitInstance()中加入初始化SkinMagic库的代码:
VERIFY( 1 == InitSkinMagicLib(AfxGetInstanceHandle(), NULL, NULL, NULL));
2、调入皮肤文件:
皮肤的调用有两种方法,一是直接从皮肤文件中调用,另一种方法是从资源文件中调用,分别说明如下:
1) 从皮肤文件中调用皮肤:
int __stdcall LoadSkinFile( LPCTSTR lpSkinFile );
2)从资源文件中调用皮肤:
int __stdcall LoadSkinFromResource(HMODULE hModule,
LPCTSTR lpSkinName ,
LPCTSTR lpType);
现在CxxxApp::InitInstance()中的代码如下:
BOOL CxxxApp::InitInstance()
{
VERIFY( 1 == InitSkinMagicLib(AfxGetInstanceHandle(), NULL, NULL, NULL));
VERIFY( 1 == LoadSkinFile("corona.smf"));
AfxEnableControlContainer();
//…..下略
}
3、将皮肤应用到程序上
int __stdcall SetWindowSkin( HWND hWnd , LPCTSTR lpSkinName );
int __stdcall SetDialogSkin( LPCTSTR szSkinName );
1)对话框程序代码位置:
BOOL CxxxApp::InitInstance()
{
//...上略
m_pMainWnd = &dlg;
VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));
VERIFY( 1 == SetDialogSkin( "Dialog" ) );
int nResponse = dlg.DoModal();
//…下略
}
2)文档视图程序代码的位置
BOOL CxxxApp::InitInstance()
{
//…上略
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));
VERIFY( 1 == SetDialogSkin( "Dialog" ) );
return TRUE;
}
4、释放SkinMagic资源
void __stdcall ExitSkinMagicLib();
重载应用程序的ExitInstance()函数,添加如下代码:
int CxxxApp::ExitInstance()
{
ExitSkinMagicLib();
return CWinApp::ExitInstance();
}