Tclywork's BLog
===========================================================
用SkinMagic工具包创建换皮肤程序
===========================================================

用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") ;
}
到此为止,完美的换皮肤程序就出来了。
tclywork 发表于:2004.12.27 17:38 ::分类: ( 程序开发 ) ::阅读:(873次) :: 评论 (1)
re: 用SkinMagic工具包创建换皮肤程序 [回复]

请问怎么才能将这个函数用classwizard加到程序中,好像找不到相关的id和messeages?谢谢

David 评论于: 2008.05.21 12:34

发表评论
标题

在此添加评论
表情符号: smile laughing tongue angry crying sad wassat wink

称呼

邮箱地址(可选)

个人主页(可选)

 authimage


自我介绍
切换风格
新闻聚合
博客日历
文章归档...
最新发表...
最新评论...
最多阅读文章...
最多评论文章...
博客统计...
网站链接...