VS2010中SkinMagic 用法

新建MFC工程的时候,一定要取消unicode选项

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();

  }

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值