DSkinLite皮肤库学习笔记

用MFC开发程序的人都知道界面美化是最头疼的问题,最近看了一个个人感觉还不错的皮肤库的使用,学习了一下,顺便把自己的学习作个笔记。

http://www.uieasy.cn/详细了解大家可以登录官方网站了解

 

工程设置DSkinLite引用方法:

(1)将include与lib文件夹复制到相应的工程目录下

(2)在stdafx.h头文件中添加如下三行代码
//皮肤头文件
#include "..\..\include\dskinlite.h"
#include "..\..\include\dskindef.h"

//皮肤静态库
#pragma comment(lib,"..\\..\\lib\\dskinliteu.lib")

(3)复制相应的DLL目录中的六个DLL文件到EXE文件目录下
dskinlited.dll dskinliteud.dll Microsoft.VC80.DebugCRT.manifest
Microsoft.VC80.DebugMFC.manifest msvcp80d.dll msvcr80d.dll


工程中使用DSkinLite的方法如下:
(1)在工程对应的App文件中InitInstance方法中添加如下方法:
BOOL XXXApp::InitInstance()
{
 ...省略非DSkinLite库相关代码...

 //这里开始添加DSkinLite的代码
 BOOL bSucc = dsLoadSkin( _T("DownloadDemo"), LOAD_FROM_FOLDER);
 DWORD dw = dsGetLastError();
 ...省略非DSkinLite库相关代码...
}

int XXXApp::ExitInstance()
{
 dsExitSkin();
 return CWinApp::ExitInstance();
}

(2)在相应的Dialog文件中找到OnInitDialog函数,在OnInitDialog函数中添加如下代码设置对话框及控件的皮肤:

BOOL XXXDialog::OnInitDialog()
{
 ...省略非DSkinLite库相关代码...
 
 dsSkinWindow( GetDlgItem(IDC_STATIC_1/*这里是控制ID号*/)->GetSafeHwnd(), SKIN_TYPE_SPLIT_BUTTON, _T("btnNewTask")/*这里是对应控件在XML文件中指定的皮肤名称*/, FALSE);
 
 ...省略非DSkinLite库相关代码...
}


*********关于如何自己写符合自己要求的XML文件及DSkinLite详细参阅DSkinLite帮助文档********
总结:
根据文档中的要求,如果有多个xml文件存在,并且相互之间存在先后调用关系的时候,
需要指定一个config.ini文件中来指定XML文件的先后顺序
比如:
[xmlindex]
count = 2
1 = "Skin.xml"
2 = "InheritDemo.xml"


另外在自己写XML文件时有几个注意点:
1)XML编码格式一定是UTF-8编码
2)属性标记是大小写敏感的。

<theme> //这是皮肤XML的根标签

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值