SkinMagic使用方法完美总结

一直以来总想为自己用VC6做的程序美容一下,于是便找到这款skinmagic,虽然网上有许多关于此软件的使用说明,但实际使用过程中总会遇到一些问题,经过反复摸索和总结,于是便有了此文,希望对您有所帮助。 

使用步骤:

1。把SkinMagicLib.h, SkinMagicLibMT6.lib, SkinMagicLibMD6.lib放到你的VC6工程目录下

2。在StdAfx.h中添加

#include "SkinMagicLib.h"

3。在工程设置中添加对应的库

特别注意:

1、   使用dll时,程序发布时需要skinmaigc.dll与程序打包

2、   若使用静态库,则无需依赖dll文件。具体做法是:

前提条件1:在project/settings/general/ 选择了use MFC in a Static Lirary,此时对于debug版本和release版本,都必须使用静态库:SkinMagicLibMT6.lib。

1)   debug版本:Project/Setting的C++ / Code Generation下选择:“Debug Multithreaded”。

2)   release版本:选择:“Multithreaded”

前提条件2:在project/settings/general/ 选择了use MFC in a Shared DLL,此时对于debug版本和release版本都必须使用静态库:SkinMagicLibMD6.lib。

3)   debug版本:Project/Setting的C++ / Code Generation下选择:“Debug Multithreaded DLL”。

4)   release版本:选择:“Multithreaded DLL”

其中的MT代表multithreaded,而MD代表multithreaded DLL,需要在 msdev 的Project/Setting的C++ / Code

Generation标签下选择,如果你的工程要用MT类型的静态库,则debug版要选择"Debug Multithreaded",release

版要选择"Multithreaded";如果要用MD类型的静态库,则debug版需要选择"Debug Multithreaded DLL",release

版要选择"Multithreaded DLL"。

引自http://www.pediy.com/bbshtml/BBS6/pediy6615.htm

4。在InitInstance()函数的开始处添加初始化SkinMagic资源的代码。

VERIFY( 1 == InitSkinMagicLib( AfxGetInstanceHandle(), "Demo" ,

                                                NULL,

                                                NULL ) );

         VERIFY( 1 == LoadSkinFile( "Devior.smf" ));

         VERIFY( 1 == SetDialogSkin( "Dialog" ) );//设置对话框的皮肤

 

5。在InitInstance()函数中加载皮肤文件并设置程序皮肤。

你可以选择添加皮肤文件到资源中,并编译到程序中。或者程序在运行时动态加载皮肤文件

a. 比如添加corona.smf,设置资源类型为"SKINMAGIC", 资源ID为IDR_SKIN_CORONA

 

         CBossKeyDlg dlg;

         m_pMainWnd = &dlg;

 

         //加载SkinMagic皮肤

         VERIFY(1 == LoadSkinFromResource(NULL, (LPSTR)IDR_SKIN_CORONA, "SKINMAGIC"));

         VERIFY(1 == SetWindowSkin(m_pMainWnd->m_hWnd, "MainFrame"));//设置窗口的皮肤

         VERIFY(1 == SetDialogSkin("Dialog"));//设置对话框的皮肤

 

         int nResponse = dlg.DoModalEx(bStartShow);

         if (nResponse == IDOK)

         {

         }

         else if (nResponse == IDCANCEL)

         {

         }

b. 程序在运行时动态加载皮肤文件

 

         CBossKeyDlg dlg;

         m_pMainWnd = &dlg;

 

         //加载SkinMagic皮肤

         VERIFY(1 == LoadSkinFile("corona.smf"));

         VERIFY(1 == SetWindowSkin(m_pMainWnd->m_hWnd, "MainFrame"));

         VERIFY(1 == SetDialogSkin("Dialog"));

 

         int nResponse = dlg.DoModalEx(bStartShow);

         if (nResponse == IDOK)

         {

         }

         else if (nResponse == IDCANCEL)

         {

         }

 

6。在ExitInstance()函数中释放SkinMagic资源

         //释放SkinMagic资源:

         ExitSkinMagicLib();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醉心编码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值