Duilib的简单使用(四、换肤)

9 篇文章 4 订阅

一、前言

Duilib的简单使用(一、duilib demo)中我们介绍了利用duilib简单的构造一个项目
Duilib的简单使用(二、xml实现界面与业务分离)中我们介绍了XML在duilib中的使用
Duilib的简单使用(三、界面逻辑交互)中我们已经知道如何简单的进行界面的交互
这一篇,我们来提一下,Duilib强大的一键换肤功能。

二、函数介绍

Duilib是一个以贴图为主要表现手段的界面库,实现换肤非常简单,可以通过给控件设置不同的图片来实现换肤,比如给需要换肤的控件调用CControlUI::SetBkImage。但是针对换肤功能,Duilib提供了更为简单的方法,即使用CPaintManagerUI::ReloadSkin。
假设我们给程序创建了两套皮肤,分别打包成skin1.zip和skin2.zip,在程序运行的时候,执行:
CPaintManagerUI::SetResourceZip(_T(“skin2.zip”)); // 或者skin1.zip
CPaintManagerUI::ReloadSkin();
这样简单的两行代码,就实现了全部窗口从skin1皮肤到skin2皮肤的切换。你也可以随时再次调用上面两行代码,把皮肤切换回去。

三、配置

首先,我们再编写一个test2.xml和test3.xml
修改其中的颜色分别为a0a000、a0a0a0在这里插入图片描述
在这里插入图片描述
将三个xml分别压缩放置于debug目录下:
在这里插入图片描述

四、代码

代码做如下修改
在这里插入图片描述

五、运行

编译运行,点击测试按钮,我们可以看到三种颜色的切换
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下一篇:Duilib的简单使用(五、DuiDesigner/DuiEditor的下载编译)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
duilib 是一个基于C++的GUI库,用于构建Windows平台上的桌面应用程序。CEF(Chromium Embedded Framework)是一个开源项目,用于将Chromium引擎集成到其他应用程序中,实现浏览器功能。在duilib使用CEF控件可以实现在应用程序中嵌入一个内置的浏览器。 要在duilib使用CEF控件,首先需要下载CEF的二进制文件,并将相应的头文件和库文件链接到duilib项目中。然后在duilib的UI布局文件中添加一个容器控件用来承载CEF控件,比如一个<Control>标签定义一个名为"browser"的控件。接着在C++代码中通过CreateControl()方法创建CEF控件并将其添加到布局中的容器控件中。 在CEF控件中加载网页可以通过调用LoadURL()方法来实现,比如在初始化时可以加载一个初始的网页。同时也可以通过CEF提供的接口来处理网页加载完成、前进后退等事件。另外,也可以在CEF的控件中执行JavaScript代码,比如修改网页内容或者与网页交互等。 当应用程序退出时,需要通过调用CEF控件的Close()方法来释放资源并关闭CEF的相关进程。另外,需要确保在适当的时候调用CEF的资源释放方法,比如在窗口销毁前调用Shutdown()方法来释放资源。 在duilib使用CEF控件可以帮助开发者实现嵌入式浏览器功能,比如在应用程序中展示在线内容或者实现基于web的功能。同时也能够与duilib的其他控件进行交互,实现更加丰富的用户体验。通过合理的使用和管理,可以让应用程序在集成CEF控件的同时保持稳定性和性能。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值