VC使用SkinMagic的方法
来源:互联网 发布:mac ssh sftp 客户端 编辑:程序博客网 时间:2024/06/06 09:48
1.文档程序
① 新建工程后,将SkinMagic包中的SkinMagicLib.h、SkinMagicLib.lib、DETOURS.lib拷贝到所在文件夹下,点击Project->Add To Project->Files,包含到工程中。
② 在Resource View中点击Import 菜单引入几个Skin二进制文件放在相同的“SKINMAGIC”文件夹下,分别给起一个名字(见源程序)。
③ 在stdafx.h中加入#include "SkinMagicLib.h"
④ 在此处添加如下内容
01.
if
(!ProcessShellCommand(cmdInfo))
02.
return
FALSE;
03.
/////////////////////////////////////////////////////////////
04.
VERIFY( 1 == InitSkinMagicLib( AfxGetInstanceHandle(),
"Demo"
,NULL,NULL ) );
//初始化类库
05.
VERIFY( 1 == LoadSkinFromResource( AfxGetInstanceHandle() ,
"KROMO"
,
"SKINMAGIC"
) );
//从资源中加载皮肤
06.
07.
VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd ,
"MainFrame"
));
08.
VERIFY( 1 == SetDialogSkin(
"Dialog"
) );
09.
((CMainFrame*)m_pMainWnd)->m_bSkinned = TRUE;
10.
((CMainFrame*)m_pMainWnd)->m_nIndex = 0;
11.
////////////////////////////////////////////////////////
12.
m_pMainWnd->ShowWindow(SW_SHOW);
13.
m_pMainWnd->UpdateWindow();
⑤ 在MainFrame中加入换皮肤菜单,及相应的函数,在函数中加载皮肤。
1.
void
CMainFrame::OnDevior()
2.
{
3.
LoadSkinFromResource( AfxGetInstanceHandle() ,
"DEVIOR"
,
"SKINMAGIC"
) ;
4.
}
到此为止,完美的换皮肤程序就出来了。
如果想更换皮肤只需要更换LoadSkinFromResource的参数为当前目录下的皮肤文件就可以了。
2.对话框程序
1
先把skinmagiclib.h文件拷贝入工程目录,
在左边的fileview卡片里面,在Resource files栏目加入SkinMagicLib.lib和DETOURS.lib,这两个文件的路径在哪里无所谓,只要加入就行。可以把它们拷贝入工程的目录下。还有,可以把smf皮肤文件都拷贝入工程的目录下,方便加载皮肤。
在FileView卡片里面加入SkinMagicLib.h文件,并在stdafx.h中加入#include "SkinMagicLib.h"
2
在C**App类的文件里面找到InitInstance函数
在函数开始部分加入
VERIFY( 1 == InitSkinMagicLib( AfxGetInstanceHandle(), "Demo" ,
VERIFY( 1 == LoadSkinFile("corona.smf") ); //皮肤文件只要在同一目录下就行。如果没有
//就编译出错
3
按Ctrl+W,看到ClassWizard,再给C**App类加入ExitInstance函数
内容是
ExitSkinMagicLib();//为了退出时清理内存
return CWinApp::ExitInstance();
4
在C**Dlg::OnInitDialog()函数里面
结束部分加入
SetWindowSkin( m_hWnd , "Dialog" );
SetDialogSkin("Dialog");
5
加一个按钮或者菜单,内容是“load skin”
添加按钮点击事件的代码为
CFileDialog dlg( TRUE, "*.smf", "*.smf" , OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT
if( dlg.DoModal() == IDOK
{
}
//这里当然可以直接LoadSkinFile("Kromo.smf");//要保证smf就放在程序同个目录下,不然就要指定路径了
- VC使用SkinMagic的方法
- 【VC皮肤】SkinMagic的使用
- VC++ 换肤工具 SkinMagic 的使用
- 使用SkinMagic美化VC界面
- 使用SkinMagic美化VC界面
- 使用SkinMagic美化VC界面
- VC中使用SkinMagic给你的软件换肤
- 如何在VC中使用自定义的SkinMagic控件?
- SkinMagic的使用
- SkinMagic的使用
- SkinMagic的使用
- SkinMagic使用的基本方法及高级方法
- SkinMagic使用的基本方法及高级方法
- SkinMagic使用的基本方法及高级方法
- SkinMagic使用的基本方法及高级方法
- 使用SkinMagic工具为对话框换肤的基本方法
- VC下使用SkinMagic改变界面
- VC下使用Skinmagic进行界面美化
- Linux下C语言编程基础(Makefile)
- QT绘图系统(The Paint System)
- Objective-C的self.用法的一些总结
- iOS中定时器NSTimer的使用
- 调用谷歌地图
- VC使用SkinMagic的方法
- java 把64位long,转成2个32位的Int,再回转成long
- iOS开发-隐藏Tabbar的一些方法
- iOS 画音频波形曲线 根据音频数据版
- OpenGL ES 2.0官方在线帮助文档
- 数据库锁
- QT动画框架(The Animation Framework)
- OpenGL ES 模型视图操作
- Android wifi详解