MFC基于对话框程序界面之皮肤美化(Skin Magic)--附案例源码

由于项目原因,需要对MFC界面进行美化,然后问大叔和度娘要了相关资源,以下主要是从实用角度介绍Skin Magic这个皮肤的其中一种用法。

资源列表如下(楼主自己看了,觉得比较重要的两个)。

1. http://blog.csdn.net/robinvanpersie/article/details/7896435

2. http://blog.csdn.net/nonecode/article/details/7952065

代码编写需要以下几个步骤:

1. 创建未皮肤化的MFC界面工程(本例以基于对话框的程序为例子);

2. 将Skin Magic动态库相关文件拷贝到工程目录;

3. 在PrjName.h中(非PrjNameDlg.h)添加

#include "SkinMagicLib.h"
#pragma comment(lib, "SkinMagic.lib")

4. 在PrjName.h中初始化函数添加

VERIFY(1 == InitSkinMagicLib(AfxGetInstanceHandle(), _T("SCRIBBLE"), NULL, NULL));//初始化SkinMagic  
	VERIFY(1 == LoadSkinFile(_TEXT("corona.smf")));//加载皮肤文件  
	if(LoadSkinFromResource(AfxGetInstanceHandle(),(LPCTSTR)IDR_SKINMAGIC1, "SKINMAGIC"))

	{     //上面的函数的第二个参数IDR_SKINMAGIC1是自己添加到工程中的资源,下面还会提到。

		//设置对话框默认皮肤

		SetDialogSkin("Dialog");

	}
5. 在PrjName.h中重载函数

BOOL PrjName::ExitInstance(void)
{
	ExitSkinMagicLib();
	return 0;
}

6. 注意点:程序关于宽字符unicode解决,可以关闭unicode(方法之一)

7. MFC界面皮肤美化结果对比

8. 本文完整工程示例下载链接:http://download.csdn.net/detail/cimage/6278509


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值