使用SkinMagic美化MFC对话框
来源:互联网 发布:oracle查看数据库状态 编辑:程序博客网 时间:2024/06/04 18:39
我在看一本王艳平的《Windows程序设计》里面第七章提到了使用SkinMagic美化界面的问题。书上讲的不明不白网上也有各种教程,几天终于自己把SkinMagic应用到了MFC程序中,快哉快哉!!!!
SkinMagic的开发包可以在http://download.csdn.net/source/3292405下载。
一、 打开VC6.0,新建一个MFC基于对话框的应用程序。把工程命名为Skin。
二、 在CSkinAPP中添加:
#include "SkinMagicLib.h"
//注意,如果MFC是动态链接到工程中的,则应该选择SkinMagicLibMD6Trial.lib库
#pragma comment(lib,"SkinMagicTrial.lib") //这一步是添加SkinMagicTrial.lib库文件,如果在这里添加了之后,那么第七步骤就可有可无了,或者是在这里不要这一行,而是用第七步骤中的方法添加库文件。
三、将SkinMagicLib.h,SkinMagicTrial.dll,SkinMagicTrial.lib,和皮肤文件"corona.smf"添加到当前目录;
四、在CSkinApp类的InitInstance()函数创建主窗口之前,就是在此函数开始位置添加:
//===SkinMagic===
//初始化SkinMagic库
VERIFY(InitSkinMagicLib(AfxGetInstanceHandle(),"Skin", NULL, NULL));//此函数的第二个参数 "Skin"是当前工程名
//从资源中加载皮肤文件。也可以用代码“LoadSkinFile("corona.smf")”直接从文件中加载
if(LoadSkinFromResource(AfxGetInstanceHandle(),(LPCTSTR)IDR_SKINMAGIC1, "SKINMAGIC"))
{ //上面的函数的第二个参数IDR_SKINMAGIC1是自己添加到工程中的资源,下面还会提到。
//设置对话框默认皮肤
SetDialogSkin("Dialog");
}
五、 在CSkinApp类中重载虚函数ExitInstance() 添加:ExitSkinMagicLib();
即:BOOL CSkinApp::ExitInstance()
{
ExitSkinMagicLib();
return CWinApp::ExitInstance();
}
六、 修改资源文件:
单击菜单命令Insert/Resource..弹出插入资源对话框;单击按钮”Import“,导入资源皮肤corona.smf到工程中;因为这不是标准资源,所以会弹出自定义资源类型对话框,这里输入SKINMAGIC单击OK按钮。
七、添加库文件支持()//其实如果在第二步骤中有 #pragma comment(lib, "SkinMagicTrial.lib")这句,那么在这里的一步就可以忽略了
选择菜单栏工程/ 设置,在连接—>对象/库模块处,添加库文件SkinMagicTrial.lib。
下面是美化后的对话框效果:
皮肤文件如下:
转 http://hi.baidu.com/gongziya/item/bcc247a413e6a62b8819d3ed
- 使用SkinMagic美化MFC对话框
- 使用SkinMagic美化MFC的窗口
- Skinmagic--MFC界面美化
- MFC 界面美化 Skinmagic
- MFC 界面美化 Skinmagic
- MFC对话框使用SkinMagic界面库
- 使用SkinMagic美化界面
- 如何使用SkinMagic库进行MFC界面皮肤美化
- 使用SkinMagic Toolkit美化界面
- 使用SkinMagic美化VC界面
- 使用SkinMagic Toolkit美化界面
- 使用SkinMagic Toolkit美化界面
- 使用SkinMagic美化VC界面
- 使用SkinMagic Toolkit美化界面
- 使用SkinMagic美化VC界面
- VS2013 MFC使用位图美化对话框
- 使用SkinMagic Toolkit美化界面(II)
- 一分钟学会使用SkinMagic美化界面
- 晶振
- 软件固有的复杂性
- JSP中实现分页
- nginx,linux压力测试工具webbench
- WINDOWS上如何安装COMPASS
- 使用SkinMagic美化MFC对话框
- iOS应用的本地缓存机制设计
- 基于Mapreduce的推荐器原理和实现
- 细数二十世纪最伟大的10大算法
- Excel to DataBase Excel数据导入到数据库
- Unity 网络通信(一)Unity Network 初步
- Oracle序列使用:建立、删除
- SCP Host key verification failed
- canvas标签应用 简单俄罗斯方块游戏的实现