现在的位置: 首页 > 综合 > 正文

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

2018年10月29日 ⁄ 综合 ⁄ 共 896字 ⁄ 字号 评论关闭

由于项目原因,需要对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

抱歉!评论已关闭.