Duilib学习笔记《01》—框架初识

 从网上下载的duilib工程中附带的一副总体设计图(如下所示),可以先整体了解一下,有个初步的认识,对后续进一步深入了解学习会很有帮助。


通过设计图有了一个初步认识后,接下来开始进一步深入学习了解,主要从以下几个方面进行了解学习:

库的组成;框架基本流程;元素创建机制;消息处理机制。

1. 库的基本组成

1.1 工具库

由于duilib没有对外部的任何库进行依赖,所以在其内部实现了很多用于支撑项目的基础类(如下图所示)。这些类分布在Util文件夹中:

duilib-baseclass
  • UI相关:CPoint / CSize / CDuiRect
  • 简单容器:CStdPtrArray / CStdValArray / CStdString / CStdStringPtrMap

上面这些类看名字就基本能够理解其具体的含义了,当然除了基本的基础库,还有一些和窗口使用相关的工具的封装,如窗口工具:WindowImplBase,这个工具我们在这里不详述,后面使用中会经常用到。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DuiLib中,调用Create函数会触发DuiLib框架的一系列操作,包括以下几个步骤: 1. 调用RegisterWindowClass函数注册窗口类: - 在RegisterWindowClass函数中,首先判断窗口类是否已经注册,若已注册则直接返回。 - 如果未注册,则创建一个WNDCLASS结构体,并设置其中的成员变量,包括窗口过程、窗口类名等。 - 调用RegisterClass函数注册窗口类。 2. 调用CreateWindowEx函数创建真实的Windows窗口: - 在CreateWindowEx函数中,根据窗口的样式、类名等参数创建一个Windows窗口。 - 获取到窗口句柄,并将其保存到窗口实例中。 3. 调用OnInitWindow函数进行初始化: - 在OnInitWindow函数中,会进行一系列的初始化工作,包括设置窗口样式、加载布局等。 - 这个函数可以在派生类中重写,以实现自定义的初始化逻辑。 4. 调用Notify函数进行通知消息处理: - 在Notify函数中,会处理一些通知类消息,比如按钮点击、列表选择等。 - 这个函数也可以在派生类中重写,以实现自定义的通知消息处理逻辑。 5. 返回创建的窗口实例。 总之,调用Create函数后,DuiLib框架会依次执行注册窗口类、创建Windows窗口、进行初始化、处理通知消息等一系列操作。这些操作是为了完成窗口的创建和初始化,并确保窗口能够响应用户的操作。在具体的应用中,可以根据需要重写相关的函数来实现自定义的行为和逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值