对dialog:USB
① 新建工程后,将SkinMagic包中的SkinMagicLib.h、SkinMagicLib.lib、DETOURS.lib拷贝到所在文件夹下,点击Project->Add To Project->Files,包含到工程中。
② 在Resource View中点击Import 菜单引入几个Skin二进制文件放在相同的“SKINMAGIC”文件夹下,分别给起一个名字(见源程序)。
③, 在*.h中加入#include "SkinMagicLib.h", CtestApp下InitInstance()第一行
VERIFY( 1 == InitSkinMagicLib( AfxGetInstanceHandle(), "Demo" , NULL, NULL ) );
VERIFY( 1 == LoadSkinFromResource( AfxGetInstanceHandle() , "z" ,"SKINMAGIC") );
VERIFY( 1 == SetDialogSkin( "Dialog" ) );
对SDI,MDI!
① 新建工程后,将SkinMagic包中的SkinMagicLib.h、SkinMagicLib.lib、DETOURS.lib拷贝到所在文件夹下,点击Project->Add To Project->Files,包含到工程中。
② 在Resource View中点击Import 菜单引入几个Skin二进制文件放在相同的“SKINMAGIC”文件夹下,分别给起一个名字(见源程序)。
③, 在stdafx.h中加入#include "SkinMagicLib.h", CtestApp下InitInstance()第一行
VERIFY( 1 == InitSkinMagicLib( AfxGetInstanceHandle(), "Demo" , NULL, NULL ) );
VERIFY( 1 == LoadSkinFromResource( AfxGetInstanceHandle() , "z" ,"SKINMAGIC") );
VERIFY( 1 == SetDialogSkin( "Dialog" ) );
④,在if (!ProcessShellCommand(cmdInfo))
return FALSE;下加入VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));即可!
对MDI只需对CChirdFrame增加WM_CREATE产生ONCREAT函数加入SetWindowSkin( m_hWnd , "MainFrame" );
③在stdafx.h中加入#include "SkinMagicLib.h",和在test.h#include "SkinMagicLib.h",在CMainFrame 的// Implementation下加入
public:
int m_nIndex;
BOOL m_bSkinned;
④ 在此处添加如下内容 CtestApp下InitInstance()return TRUE;前加入
if (!ProcessShellCommand(cmdInfo))
return FALSE;
/////////////////////////////////////////////////////////////////////////////////////////
VERIFY( 1 == InitSkinMagicLib( AfxGetInstanceHandle(), "Demo" ,NULL,NULL ) );//初始化类库
VERIFY( 1 == LoadSkinFromResource( AfxGetInstanceHandle() , "KROMO" ,"SKINMAGIC") );//从资源中加载皮肤
VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));
VERIFY( 1 == SetDialogSkin( "Dialog" ) );
((CMainFrame*)m_pMainWnd)->m_bSkinned = TRUE;
((CMainFrame*)m_pMainWnd)->m_nIndex = 0;
////////////////////////////////////////////////////////////////////////////////////////////
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
⑤ 在MainFrame中加入换皮肤菜单,及相应的函数,在函数中加载皮肤。
void CMainFrame::OnDevior()
{
LoadSkinFromResource( AfxGetInstanceHandle() , "DEVIOR" ,"SKINMAGIC") ;
}
到此为止,完美的换皮肤程序就出来了。
/////////////////////////////////////
"xpsteel"
"corona
"Devior"
"futuraIII"
"Kromo"