用SkinMagic工具包创建换皮肤程序

转载 2007年09月24日 15:07:00

用SkinMagic工具包创建换皮肤程序
作者:北京林业大学 李少杰

下载本文示例工程

代码运行效果图如下:




以前看到瑞星和金山词霸有换皮肤功能,很是羡慕,自己也想做个换皮肤的程序,但毕竟自己能力有限,以前在此处看到一篇介绍换皮肤功能的文章,但只能应用在对话框程序上。我也试过像BCGCBar这样的大型软件,给我的感觉是软件老是出问题,应用起来也很复杂。在年前我就看到本站有SkinMagic软件包,但当时不知怎么用,发了贴子也没人回答。可能是很少有人用的缘故吧,本站也未更新此软件包。偶然的一次机会,让我知道了怎样来用它,
而且编译出来的软件体积很小,所以在这里向大家介绍一下,希望对大家有些帮助。
如何使用:
① 新建工程后,将SkinMagic包中的SkinMagicLib.h、SkinMagicLib.lib、DETOURS.lib拷贝到所在文件夹下,点击Project->Add To Project->Files,包含到工程中。
② 在Resource View中点击Import 菜单引入几个Skin二进制文件放在相同的“SKINMAGIC”文件夹下,分别给起一个名字(见源程序)。
③ 在stdafx.h中加入#include "SkinMagicLib.h"
④ 在此处添加如下内容

if (!ProcessShellCommand(cmdInfo))
	return FALSE;
/////////////////////////////////////////////////////////////////////////////////////////
VERIFY( 1 == InitSkinMagicLib( AfxGetInstanceHandle(), "Demo" ,NULL,NULL ) );//初始化类库
	VERIFY( 1 == LoadSkinFromResource( AfxGetInstanceHandle()  , "KROMO" ,"SKINMAGIC") );//从资源中加载皮肤 
	
	VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));
	VERIFY( 1 == SetDialogSkin( "Dialog" ) );
	((CMainFrame*)m_pMainWnd)->m_bSkinned = TRUE;
	((CMainFrame*)m_pMainWnd)->m_nIndex = 0;
	////////////////////////////////////////////////////////////////////////////////////////////
	m_pMainWnd->ShowWindow(SW_SHOW);
	m_pMainWnd->UpdateWindow();
⑤ 在MainFrame中加入换皮肤菜单,及相应的函数,在函数中加载皮肤。
void CMainFrame::OnDevior() 
{
	 LoadSkinFromResource( AfxGetInstanceHandle()  , "DEVIOR" ,"SKINMAGIC") ; 
}
到此为止,完美的换皮肤程序就出来了。  

MFC应用SkinMagic皮肤可视化包更换程序外观皮肤

1.SkinMag MFC美化界面库 总所周知,MFC的皮肤比较呆板,有各种各样的MFC界面库可以供我们使用,来修改程序的外观。C++界面库可以参见:http://blog.csdn.net/wit...
  • HW140701
  • HW140701
  • 2017年01月04日 21:14
  • 2396

怎样用SkinMagicBuilder制作皮肤

第一步,轮廓与着色首先,打开你的PS,新建一个文件,宽度为495,高度为406,分辨率为72。然后点击图层菜单,新建图层背景。接着在工具栏里点击油漆桶工具,选择颜色为R=255,B=0,G=255。用...
  • zcj331
  • zcj331
  • 2014年04月11日 13:24
  • 956

Winform 换皮肤

winform换肤流程如下: (1)程序入口,添加以下代码: //换肤 private void Skinjsj() { DevExpr...
  • u013816709
  • u013816709
  • 2015年04月27日 15:14
  • 1216

Android更换皮肤解决方案

Android更换皮肤解决方案 转载请注明出处:IT_xiao小巫 本篇博客要给大家分享的一个关于Android应用换肤的Demo,大家可以到我的github去下载demo,以后博文涉及到的代码均...
  • wwj_748
  • wwj_748
  • 2015年06月03日 18:43
  • 10567

轻松实现Android 更换皮肤(主题)

目前很多app都具有换肤功能,可以根据用户自己的喜好定制自己的界面,比如新浪微博,网易新闻等等。今天这里我就是要介绍一种机制实现app换肤。 我找了几款app换肤的应用,换肤基本都是更换了界面的...
  • qqiabc521
  • qqiabc521
  • 2015年03月03日 18:22
  • 2379

SkinMagic 进行皮肤设置 (SkinMagic使用教程)

[准备工作] 1、将SkinMagicTrial.dll放置在调试目录 2、设置库文件目录,在项目[连接器]的[附加依赖项]中加入库SkinMagicTrial.lib 3、在项目的...
  • shuaiqidiudiu
  • shuaiqidiudiu
  • 2013年06月20日 01:46
  • 2200

轻松实现Android 更换皮肤(主题)

目前很多app都具有换肤功能,可以根据用户自己的喜好定制自己的界面,比如新浪微博,网易新闻等等。今天这里我就是要介绍一种机制实现app换肤。 我找了几款app换肤的应用,换肤基本都是更换了界面的Ico...
  • yuanzeyao2008
  • yuanzeyao2008
  • 2015年01月04日 14:17
  • 9145

Eclipse更改皮肤,很适合开发,养眼

今天在网上看到别人的Eclipse皮肤很漂亮,所以也就查了一下如何更改。     其实很简单,现在一起来:     Help -> Install New Software -> ad...
  • xzknet
  • xzknet
  • 2015年02月10日 10:02
  • 3715

iOS开发之主题皮肤

最近在开发一款【公交应用】,里面有个模块涉及到主题设置,这篇文章主要谈一下个人的做法。大概的步骤如下:(1):整个应用依赖于一个主题管理器,主题管理器根据当前的主题配置,加载不同主题文件夹下的主题(2...
  • yanghua_kobe
  • yanghua_kobe
  • 2013年07月28日 08:12
  • 19354

iOS App主题皮肤切换功能简介和具体实现详解 附有源码

1. 主题皮肤功能切换介绍 主题切换就是根据用户设置不同的主题,来动态改变用户的界面,通常会改变 navigationBar背景图片、 tabBar背景图片、 tabBar中的按钮的图片和选中的背景图...
  • vbirdbest
  • vbirdbest
  • 2016年01月28日 15:35
  • 6610
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用SkinMagic工具包创建换皮肤程序
举报原因:
原因补充:

(最多只允许输入30个字)