基于360SafeDemo对duilib整体框架的概述

本文从360Safe窗口的运行、消息处理机制、窗口绘制与组件显示、控件事件响应四个方面,深入剖析duilib框架。通过分析窗口的创建、消息循环、控件树的构建及事件响应的实现,揭示duilib的工作原理。
摘要由CSDN通过智能技术生成

我们以一个具体窗口(360Safe Window)的创建为入口,建立起程序的整个框架。然后逐步深入,对其中的细节以及duilib中各个类在任务的执行过程中负责的任务进行分析。分析以问题作为导向,随着层次的不断深入,问题也将越来越深入核心,关注细节。最后进行总结,得出整个duilib的框架结构,以及每个类的功能和使用方式。

【问题1】360Safe 窗口是是如何运行起来的?

Window窗口运行的四部曲:设计窗口、注册窗口、创建窗口、显示窗口。对应到本例中:
程序从WinMain开始执行,到pFrame->Create(NULL, _T("360安全卫士"), UI_WNDSTYLE_FRAME, 0L, 0, 0, 800, 572)时进入CWindowWnd类。调用内部的RegisterSuperclass 函数对窗口进行设计和注册,再调用系统函数::CreateWindowEx创建窗口。而后Create函数返回,调用::ShowWindow(*pFrame, SW_SHOW)来显示窗口。
这里写图片描述

【问题2】360Safe的消息处理机制是如何实现的?

Windows窗口的一系列响应事件都是由消息触发的,当消息产生时系统将会把消息发往目标窗口的消息队列中,窗口程序则安排了一个死循环来不断地从自己的消息队列中接收和预处理消息(Window Massage࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值