MFC皮肤使用详细说明

首先将SkinMagic.dll,SkinMagic.lib,SkinMagicLib.h,xpsteel.smf文件复制到工程目录下。
1、在StdAfx.h末尾中加入
#include "SkinMagicLib.h"
#pragma comment(lib, "SkinMagic.lib")
2、在C**App的头文件中添加成员变量m_blnSkinLoaded
class C**App : public CWinApp
{
   bool m_blnSkinLoaded;
}
3、在C**App的源文件中添加如下此代码
BOOL C**App::InitInstance()
{
AfxEnableControlContainer();
        CWinApp::InitInstance();
//skinmagic  
//////////////////////////////////////////////////////////////////////////
VERIFY( 1 == InitSkinMagicLib(AfxGetInstanceHandle(), NULL, NULL, NULL));
if(0==LoadSkinFile("xpsteel.smf"))
{
m_blnSkinLoaded=FALSE;
AfxMessageBox("加载皮肤失败。");
}
else
m_blnSkinLoaded=TRUE;
if(m_blnSkinLoaded)
{
VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));
   //对话框类型的工程不要加这句话。
VERIFY( 1 == SetDialogSkin( "Dialog" ) );
}
注意:当创建对话框类型的工程,把这一段代码放在函数体的前面位置;
当创建文档类型的工程,把这一段代码放在函数体的后面位置,等待系统把窗口都初始化完毕。
3、在类向导为C**App添加ExitInstance消息,编辑函数。
即在source Files文件夹中的FloppyImage.cpp中加入
int CFloppyImageApp::ExitInstance()
{
// TODO: Add your specialized code here and/or call the base class
//skinmagic
//-----------------------------------------
if(m_blnSkinLoaded)
ExitSkinMagicLib();
//------------------------------------

return CWinApp::ExitInstance();

posted @ 2013-07-03 22:59  ╰︶ζั͡ޓއއއ๓º♥  阅读(417)  评论(0编辑  收藏  举报