一、 静态编译
1、 建立项目,把 SkinMagicLibMD6.lib、SkinMagicLib.h 放在项目目录里,corona.smf 皮肤文件在项
目目录、Debug、 Release 各放一个,只在项目目录下放,出错。(可以通过嵌入资源的方式,
不用在运行目录里放置。)
2、 在 StdAfx.h 中添加下面的内容
#endif // _AFX_NO_AFXCMN_SUPPORT//此语句后添加
#include "SkinMagicLib.h"
#pragma comment(lib, "SkinMagicLibMD6.lib")
#pragma comment(linker, "/FORCE:MULTIPLE") //静态编译
#pragma comment(linker, "/OPT:NOREF")//静态编译
3、 在 app 的 InitInstance()中添加
BOOL CMyApp::InitInstance()
{
VERIFY( 1 == InitSkinMagicLib( AfxGetInstanceHandle(),NULL,NULL, NULL ) );
//VERIFY( 1 == LoadSkinFile( _T("corona.smf"))); //直接调用文件
VERIFY(1 == LoadSkinFromResource( AfxGetInstanceHandle(),"IDR_SKIN_corona","SKIN") );// 从
资源中加载皮肤
A、 如果是对话框程序
CMyDlg dlg;
m_pMainWnd = &dlg;//此语句后添加
VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , _T("MainFrame") ));
VERIFY( 1 == SetDialogSkin( _T("Dialog") ) );
int nResponse = dlg.DoModal();
B、 如果是 MDI/SDI 程序
VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , _T("MainFrame") ));
SetControlTooltip( pMainFrame->m_wndToolBar.m_hWnd , _T("ToolBar") );
VERIFY( 1 == SetDialogSkin( _T("Dialog") ) );
二、 动态编译
在 StdAfx.h 中不用添加下面两句,发行的时候,运行程序和
#pragma comment(linker, "/FORCE:MULTIPLE") //静态编译
#pragma comment(linker, "/OPT:NOREF")//静态编译
三、 资源嵌入
a) 新建资源类型