界面美化SkinMagic使用(转)

开发平台: VC6 SkinMagic2.21

l     准备工作
1 、下载 SkinMagic Toolkit ,复制 SkinMagicTrial.dll SkinMagicTrial.lib SkinMagicLib.h 以及皮肤文件 corona.smf 至项目的目录下。 ( 这样比较简单 J ,可以 在这下载。 )
2 、在 stdafx.h 中加入头文件和库的引用,如下:
#include "SkinMagicLib.h"
#pragma comment(lib, "SkinMagicTrial.lib")

l     使用 SkinMagic
1、 初始化 SkinMagic 库:
int __stdcall InitSkinMagicLib( HINSTANCE hInstance,
                                            LPCTSTR lpApplication ,
                                            LPCTSTR lpReserved1,
                                            LPCTSTR lpReserved2 );
CxxxApp::InitInstance() 中加入初始化 SkinMagic 库的代码:
    VERIFY( 1 == InitSkinMagicLib(AfxGetInstanceHandle(), NULL, NULL, NULL));
2 、调入皮肤文件:
    皮肤的调用有两种方法,一是直接从皮肤文件中调用,另一种方法是从资源文件中调用,分别说明如下:
1) 从 皮肤文件中调用皮肤:
i nt __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();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值