您当前的位置: 首页 >  ui

插件开发

暂无认证

  • 1浏览

    0关注

    492博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

第一章 第一小节Duilib的基本架构

插件开发 发布时间:2022-03-21 10:58:25 ,浏览量:1

文章目录
    • 1.什么是Duilib
    • 2.作者答疑

1.什么是Duilib

  在互联网时代,由于信息传播的便利,出现了许多共享的开源产品,这是许多小公司和工作室最大的福利,甚至为某些大机构和公司也提供了许多共享的知识方案,其中duilib就是这样一种可以商用的知识库,在剖析duilib这个开源库之前,对共享知识的原作者表示感谢。   本书的读者,主要面对的是初入行的小白程序员,第一个问题,Duilib是什么,由什么开发。Duilib是一款强大的用于C++界面开发的工具库。它采用直接绘制的方式,生成各种子控件,这种方式许多时候又称DirectUI。这个时候,必须提下一个基础知识,在win32桌面应用下,微软为大家开发窗口提供的原生接口,就是基于窗口句柄的形式创建的。这种方式为适用窗口在许多方面的应用场景,涉及到知识点非常复杂,不利于专注于界面的绘制。这时候就诞生了这种直接绘制的方式称为DirectUI。   经过原作者和开源界的不断完善和努力,duilib作为一种界面开发方式,已经相对成熟,当然不可以避免的具有一些开源库的通病,就是在使用起来的时候,还是有许多的bug。所以如果你打算使用它开发一款商业产品的界面,还是需要对它本身非常熟悉,这样才可以轻车熟路的解决一些bug。   基于前面介绍到特点,它采用c++开发,基于语言方面使用的便利性,它使用最多的场景还是作为c++语言项目的界面库。当然更准确的来说,它基本采用win32的api来绘制,所以主要应用在windows上运行的软件项目。 前面的基本特点已毕,进入技术视角。   duilib作为一个采用c++开发的库,它肯定是由一些列类组成,所以需要搞清楚这些类之间的继承和组合关系,然后才能方便恰当的使用它们,第一个图是控件关系图。如下所示: 基础控件关系图   从上图中可以看出,所有的控件都继承至基础控件CControlUI这个类,所以这个类的内容,是底层绘制的关键。在后面的章节中,再详细展开,顺便提一句,在学习一个新库的时候,一定要有一定的耐心和时间,才能牢牢掌握一个库,否则在出现问题时候,很难分析源头。   第二个图是容器关系图,有一定界面编程的朋友,都知道,为了方便界面控件的摆放,需要许多基础的容器控件来辅助界面设计,这些就是界面容器,如下图所示: 在这里插入图片描述   在上图中,可以清晰看到界面容器类CContainerUI它继承至CControlUI和IContainerUI接口,说明它本身也是一个控件,一个可以包含子控件的容器控件。有了以上两张图的了解,相信大家对duilib这个库有了基础的了解。后面有更详细的介绍。

2.作者答疑

  如有疑问,请留言。

关注
打赏
1665481431
查看更多评论
立即登录/注册

微信扫码登录

0.0414s