当前位置:   article > 正文

Duilib 换肤_duilib 界面 换皮肤

duilib 界面 换皮肤

关于Duilib的换肤问题:

首先需要在xml文件中定义一个控件(一般是布局),下面代码的取名叫bg

<HorizontalLayout name="bg" bkimage="file='bg0.png' corner='600,200,1,1'" hole="true">

接下来在c++的事件代码中,对应的事件处理函数中加入如下代码就能实现换肤功能了:

  1. if (_tcsicmp(msg.pSender->GetName(), "bg") == 0)
  2. {
  3. CControlUI* background = m_PaintManager.FindControl("bg");
  4. if (background != NULL)
  5. {
  6. TCHAR szBuf[MAX_PATH] = {0};
  7. ++bk_image_index_;
  8. if (kBackgroundSkinImageCount < bk_image_index_)
  9. bk_image_index_ = 0;
  10. _stprintf_s(szBuf, MAX_PATH - 1, _T("file='bg%d.png' corner='600,200,1,1'"), bk_image_index_);
  11. //设置背景图片
  12. background->SetBkImage(szBuf);
  13. //换肤一般是需要用观察者模式,因为在一个系统的软件中
  14. //换肤的不仅仅是一个界面,而是一系列的界面,所以点击了
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/942901
推荐阅读
相关标签
  

闽ICP备14008679号