SkinMagic使用方法完美总结

简介: 一直以来总想为自己用VC6做的程序美容一下,于是便找到这款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();


相关文章
|
3月前
|
运维 Java 程序员
帮助你掌握if-else的正确使用方法
在编程中,if-else语句引导程序走向不同路径。它是基础却至关重要,尤其对Java程序员。本文通过实例展示if-else的有效使用方法,包括减少嵌套以提升代码可读性,利用逻辑运算符简化条件判断,以及在异常处理中的应用。通过这些实践,你将学会如何让if-else成为代码中的导航仪,避免成为绊脚石,从而编写出更清晰、高效的程序。
20 1
|
5月前
|
Go
详细解读CList使用方法
详细解读CList使用方法
57 3
visualscope的使用方法
visualscope的使用方法
258 0
visualscope的使用方法
|
6月前
|
算法 Java 测试技术
letcode的使用方法
letcode的使用方法
48 0
|
安全
MouseWithoutBoard的使用方法
MouseWithoutBoard的使用方法
291 0
if、else、else if使用方法
if、else、else if使用方法
336 0
|
测试技术
HTMLReport使用2 | HTMLReport使用方法详解
HTMLReport使用2 | HTMLReport使用方法详解
103 0
DataTableDelegate 使用方法
DataTableDelegate 使用方法
72 0
|
Web App开发 JavaScript 前端开发
YUIDoc的使用方法小结
一.YUIDoc概述以及安装YUIDoc是为YUI Library用来生成HTML版API文档的一系列工具集,文档的生成完全基于JavaDoc风格的代码注释规则。该工具是基于Python语言编写,并且使用了几个基于Python的扩展组件作为底层支持,如读写json对象、HTML模板管理以及源代码着色等等。
883 0