Skip to content

Latest commit

 

History

History
256 lines (227 loc) · 23.2 KB

Summary.md

File metadata and controls

256 lines (227 loc) · 23.2 KB

项目关联内容链接

项目中主要类的简表

各个类的详细接口说明请参考关联头文件,有较详细的注释。

  • 基本数据类型
类名称 关联头文件 用途
UiSize duilib/Core/UiSize.h 32位Size类型的封装
UiSize64 duilib/Core/UiSize64.h 64位Size类型的封装
UiPoint duilib/Core/UiPoint.h 整型Point类型的封装
UiPointF duilib/Core/UiPointF.h 浮点型Point类型的封装
UiFixedInt duilib/Core/UiFixedInt.h 控件设置长度(或宽度)数值类型的封装
UiEstInt duilib/Core/UiEstInt.h 控件估算长度(或宽度)数值类型的封装
UiFixedSize duilib/Core/UiTypes.h 设置的控件大小
UiEstSize duilib/Core/UiTypes.h 估算的控件大小(相比UiFixedSize,没有Auto类型)
UiEstResult duilib/Core/UiTypes.h 估算控件大小的结果
UiPadding duilib/Core/UiPadding.h 内边距类型的封装
UiMargin duilib/Core/UiMargin.h 外边距类型的封装
UiString duilib/Core/UiString.h 控件使用的字符串,用于替代std::wstring,以减少控件的内存占用,该类适合用于较低的内存空间来存储字符串,性能方面由于字符串复制偏多,性能偏弱
UiRect duilib/Core/UiRect.h 32位Rect类型的封装
UiFont duilib/Core/UiFont.h 字体类型的封装
UiColor duilib/Core/UiColor.h 颜色类型的封装
UiColors duilib/Core/UiColors.h 常见颜色值常量(ARGB格式)
  • 窗口相关
类名称/说明 关联头文件 用途
Window duilib/Core/Window.h duilib核心窗口的封装
WindowBuilder duilib/Core/WindowBuilder.h 解析XML文件,并创建窗口、容器布局和控件等
Shadow duilib/Core/Shadow.h 窗口阴影属性
WindowImplBase duilib/Utils/WinImplBase.h 提供给应用层的窗口基类,实现一个带有标题栏的窗体,带有最大化、最小化、还原按钮的支持,提供带有 WS_EX_LAYERED 属性窗口阴影
ShadowWnd duilib/Utils/ShadowWnd.h 是WinImplBase的子类,使用附加阴影窗口实现的基类,实现了创建窗口并附加的功能,提供没有 WS_EX_LAYERED 属性的窗口阴影
EventType duilib/duilib_defs.h 定义所有消息类型
EventArgs duilib/Core/EventArgs.h 窗口消息与控件事件通知的参数
WindowDropTarget duilib/Core/WindowDropTarget.h 窗口中控件的拖放支持
Windows版本兼容性 duilib/duilib_config.h Windows版本兼容性定义,默认配置兼容Win7以上操作系统
  • 控件与容器的基类
类名称 基类名称 关联头文件 用途
PlaceHolder nbase::SupportWeakCallback duilib/Core/PlaceHolder.h 所有控件和容器的顶层基类,封装了控件的位置、大小、外观形状等基本数据
Control PlaceHolder duilib/Core/Control.h 一个基本的控件,也是所有控件和容器的基类,包含了控件的位置、大小、状态、颜色、图片资源、动画、绘制、光标、鼠标、键盘、焦点、快捷键操作等基本功能
Box Control duilib/Core/Box.h 所有容器的基类,封装了容器的位置、大小、外观形状、子控件管理(添加、删除、修改、绘制、操作、拖放、布局等)
  • 布局
类名称 基类名称 关联头文件 用途
Layout duilib/Box/Layout.h 自由布局(浮动布局)
HLayout Layout duilib/Box/HLayout.h 水平布局
VLayout Layout duilib/Box/VLayout.h 垂直布局
HTileLayout Layout duilib/Box/HTileLayout.h 水平瓦片布局
VTileLayout Layout duilib/Box/VTileLayout.h 垂直瓦片布局
VirtualHLayout HLayout duilib/Box/VirtualHLayout.h 虚表水平布局
VirtualVLayout VLayout duilib/Box/VirtualVLayout.h 虚表垂直布局
VirtualHTileLayout HTileLayout duilib/Box/VirtualHTileLayout.h 虚表水平瓦片布局
VirtualVTileLayout VTileLayout duilib/Box/VirtualVTileLayout.h 虚表垂直瓦片布局
  • 容器
类名称 基类名称 布局类型 关联头文件 名称/用途
Box Control Layout duilib/Core/Box.h 自由布局容器,所有容器的基类,封装了容器的位置、大小、外观形状、子控件管理(添加、删除、修改、绘制、操作、拖放、布局等)
VBox Box VLayout duilib/Box/VBox.h 垂直布局容器
HBox Box HLayout duilib/Box/HBox.h 水平布局容器
TabBox Box Layout duilib/Box/TabBox.h 多标签布局容器
VTileBox Box VTileLayout duilib/Box/TileBox.h 垂直瓦片布局容器
HTileBox Box HTileLayout duilib/Box/TileBox.h 水平瓦片布局容器
ScrollBox Box Layout duilib/Box/ScrollBox.h 自由布局可滚动容器,带有垂直或水平滚动条
VScrollBox ScrollBox VLayout duilib/Box/ScrollBox.h 垂直布局可滚动容器,带有垂直或水平滚动条
HScrollBox ScrollBox HLayout duilib/Box/ScrollBox.h 水平布局可滚动容器,带有垂直或水平滚动条
VTileScrollBox ScrollBox VTileLayout duilib/Box/ScrollBox.h 垂直瓦片布局可滚动容器,带有垂直或水平滚动条
HTileScrollBox ScrollBox HTileLayout duilib/Box/ScrollBox.h 水平瓦片布局可滚动容器,带有垂直或水平滚动条
ListBox ScrollBox Layout duilib/Box/ListBox.h 自由布局的列表容器
VListBox ListBox VLayout duilib/Box/ListBox.h 垂直布局的列表容器
HListBox ListBox HLayout duilib/Box/ListBox.h 水平布局的列表容器
VTileListBox ListBox VTileLayout duilib/Box/ListBox.h 垂直瓦片布局的列表容器
HTileListBox ListBox HTileLayout duilib/Box/ListBox.h 水平布局的列表容器
VirtualListBox ListBox Layout duilib/Box/VirtualListBox.h 虚表实现的自由布局的列表容器
VirtualVListBox VirtualListBox VirtualVLayout duilib/Box/VirtualListBox.h 虚表实现的垂直布局的列表容器
VirtualHListBox VirtualListBox VirtualHLayout duilib/Box/VirtualListBox.h 虚表实现的水平布局的列表容器
VirtualVTileListBox VirtualListBox VirtualVTileLayout duilib/Box/VirtualListBox.h 虚表实现的垂直瓦片布局的列表容器
VirtualHTileListBox VirtualListBox VirtualHTileLayout duilib/Box/VirtualListBox.h 虚表实现的水平布局的列表容器
  • 图片
类名称/说明 关联头文件 用途
Image duilib/Image/Image.h 图片相关封装,支持的文件格式:SVG/PNG/GIF/JPG/BMP/APNG/WEBP/ICO
ImageAttribute duilib/Image/ImageAttribute.h 图片属性
ImageLoadAttribute duilib/Image/ImageLoadAttribute.h 图片加载属性,用于加载一个图片
ImageDecoder duilib/Image/ImageDecoder.h 图片格式解码类,负责图片的加载,图片大小调整等
ImageInfo duilib/Image/ImageInfo.h 图片信息
StateImage duilib/Image/StateImage.h 控件状态与图片的映射
StateImageMap duilib/Image/StateImageMap.h 控件图片类型与状态图片的映射
ImageGif duilib/Image/ImageGif.h 控件背景动态播放动画的逻辑封装(支持GIF/WebP/APNG动画)
ImageList duilib/Core/ImageList.h 图片列表
ImageManager duilib/Core/ImageManager.h 图片资源管理器
IconManager duilib/Core/IconManager.h HICON句柄管理器
  • 动画
类名称/说明 关联头文件 用途
AnimationManager duilib/Animation/AnimationManager.h 图片动画管理器
AnimationPlayer duilib/Animation/AnimationPlayer.h 图片动画播放状态管理
  • 颜色
类名称/说明 关联头文件 用途
UiColor duilib/Core/UiColor.h 颜色类型的封装
UiColors duilib/Core/UiColors.h 常见颜色值常量(ARGB格式)
StateColorMap duilib/Core/StateColorMap.h 控件状态与颜色值的映射
  • 字体
类名称/说明 关联头文件 用途
UiFont duilib/Core/UiFont.h 字体类型的封装
FontManager duilib/Core/FontManager.h 字体管理器
  • 渲染引擎接口
类名称/说明 关联头文件 用途
渲染引擎设置 duilib/Render/RenderConfig.h 可设置使用哪个引擎(Skia引擎,或者GdiPlus引擎)
IRenderFactory duilib/Render/IRender.h 渲染工厂接口,用于创建Font、Pen、Brush、Path、Matrix、Bitmap、Render等渲染实现对象
IFont duilib/Render/IRender.h 字体接口
IBitmap duilib/Render/IRender.h 位图接口
IPen duilib/Render/IRender.h 画笔接口
IBrush duilib/Render/IRender.h 画刷接口
IPath duilib/Render/IRender.h 路径接口
IMatrix duilib/Render/IRender.h 矩阵接口
IRender duilib/Render/IRender.h 渲染接口,用于画图、绘制文字等
  • Skia渲染引擎
类名称/说明 关联头文件 用途
RenderFactory_Skia duilib/RenderSkia/RenderFactory_Skia.h 渲染工厂接口的实现
Font_Skia duilib/RenderSkia/Font_Skia.h 字体接口的实现
Bitmap_Skia duilib/RenderSkia/Bitmap_Skia.h 位图接口的实现
Pen_Skia duilib/RenderSkia/Pen_Skia.h 画笔接口的实现
Brush_Skia duilib/RenderSkia/Brush_Skia.h 画刷接口的实现
Path_Skia duilib/RenderSkia/Path_Skia.h 路径接口的实现
Matrix_Skia duilib/RenderSkia/Matrix_Skia.h 矩阵接口的实现
FontMgr_Skia duilib/RenderSkia/FontMgr_Skia.h 字体管理器的接口实现
Render_Skia duilib/RenderSkia/Render_Skia.h 渲染接口的实现,用于画图、绘制文字等
Render_Skia_Windows duilib/RenderSkia/Render_Skia_Windows.h 渲染接口的Windows相关功能的实现
Render_Skia_SDL duilib/RenderSkia/Render_Skia_SDL.h 渲染接口的SDL相关功能的实现,主要用于Linux,Windows也支持
  • 控件/功能组件
类名称/功能组件 基类 关联头文件 用途
ScrollBar Control duilib/Core/ScrollBar.h 滚动条控件
Label Control duilib/Control/Label.h 标签控件(模板),用于显示文本
LabelBox Box duilib/Control/Label.h 标签容器(模板),用于显示文本
Button Control duilib/Control/Button.h 按钮控件(模板实现)
ButtonBox Box duilib/Control/Button.h 按钮容器控件(模板实现)
CheckBox Control duilib/Control/CheckBox.h 复选框控件(模板实现)
CheckBoxBox Box duilib/Control/CheckBox.h 复选框容器(模板实现)
Option Control duilib/Control/Option.h 单选按钮控件
OptionBox Box duilib/Control/Option.h 单选按钮容器
GroupBox Box duilib/Control/GroupBox.h 分组容器(模板)
GroupVBox VBox duilib/Control/GroupBox.h 垂直分组容器(模板)
GroupHBox HBox duilib/Control/GroupBox.h 水平分组容器(模板)
Combo Box duilib/Control/Combo.h 组合框
ComboButton Box duilib/Control/ComboButton.h 带有下拉组合框的按钮
CheckCombo Control duilib/Control/CheckCombo.h 带复选框的组合框
FilterCombo Combo duilib/Control/FilterCombo.h 带有过滤功能的组合框
DateTime Label duilib/Control/DateTime.h 日期时间选择控件
HotKey HBox duilib/Control/HotKey.h 热键控件
HyperLink Label duilib/Control/HyperLink.h 带有超级链接的文字, 如果URL为空的话,可以当作普通的文字按钮使用
IPAddress HBox duilib/Control/IPAddress.h IP地址控件
Line Control duilib/Control/Line.h 画线控件
Menu WindowImplBase duilib/Control/Menu.h 菜单,独立窗口
Progress Label duilib/Control/Progress.h 进度条控件
Slider Progress duilib/Control/Slider.h 滑块控件
CircleProgress Control duilib/Control/CircleProgress.h 环形进度条
RichEdit ScrollBox duilib/Control/RichEdit.h 富文本编辑框控件
RichEdit实现类 duilib/Control/RichEditCtrl_Windows.h 富文本编辑框的主要功能封装(Windows)
RichEdit实现类 duilib/Control/RichEditHost_Windows.h 富文本编辑框的主要功能实现(Windows)
RichEdit实现类 duilib/Control/RichEdit_SDL.h 富文本编辑框的主要功能封装(SDL)
RichText Control duilib/Control/RichText.h 格式化文本(类HTML格式)
Split Control duilib/Control/Split.h 分割条控件
SplitBox Box duilib/Control/Split.h 分割条容器
TabCtrl ListBox duilib/Control/TabCtrl.h 多标签控件(类似浏览器的多标签)
TreeView ListBox duilib/Control/TreeView.h 树控件
TreeNode ListBoxItem duilib/Control/TreeView.h 树控件的节点
ListCtrl VBox duilib/Control/ListCtrl.h 列表控件
ListCtrl实现类 duilib/Control/ListCtrlDefs.h 列表控件的基本类型定义
ListCtrl实现类 duilib/Control/ListCtrlHeader.h 列表控件的表头
ListCtrl实现类 duilib/Control/ListCtrlHeaderItem.h 列表控件的表头子项
ListCtrl实现类 duilib/Control/ListCtrlItem.h 列表控件数据项
ListCtrl实现类 duilib/Control/ListCtrlSubItem.h 列表控件数据项的子项
ListCtrl实现类 duilib/Control/ListCtrlView.h 列表控件视图基类
ListCtrl实现类 duilib/Control/ListCtrlReportView.h 列表控件Report视图
ListCtrl实现类 duilib/Control/ListCtrlIconView.h 列表控件Icon/List视图
ListCtrl实现类 duilib/Control/ListCtrlData.h 列表控件的数据管理器
PropertyGrid VBox duilib/Control/PropertyGrid.h 属性表控件,支持文本、数字、复选框、字体、颜色、日期、IP地址、热键、文件路径、文件夹等属性
ColorPicker WindowImplBase duilib/Control/ColorPicker.h 拾色器,独立窗口
拾色器实现类 duilib/Control/ColorControl.h ColorPicker的实现类,自定义颜色控件
拾色器实现类 duilib/Control/ColorConvert.h ColorPicker的实现类,颜色类型(RGB/HSV/HSL)转换类
拾色器实现类 duilib/Control/ColorPickerCustom.h ColorPicker的实现类,自定义颜色
拾色器实现类 duilib/Control/ColorPickerRegular.h ColorPicker的实现类,常用颜色
拾色器实现类 duilib/Control/ColorPickerStatard.h ColorPicker的实现类,标准颜色
拾色器实现类 duilib/Control/ColorPickerStatardGray.h ColorPicker的实现类,标准颜色,灰色
拾色器实现类 duilib/Control/ColorSlider.h ColorPicker的实现类
ControlDragable Control duilib/Control/ControlDragable.h 支持相同Box内的子控件通过拖动来调整顺序
BoxDragable Box duilib/Control/ControlDragable.h 支持相同Box内的子控件通过拖动来调整顺序
HBoxDragable HBox duilib/Control/ControlDragable.h 支持相同Box内的子控件通过拖动来调整顺序
VBoxDragable VBoxDragable duilib/Control/ControlDragable.h 支持相同Box内的子控件通过拖动来调整顺序
  • 全局资源
类名称 关联头文件 用途
GlobalManager duilib/Core/GlobalManager.h 全局属性管理工具类,用于管理一些全局属性的工具类,包含全局样式(global.xml)和语言设置等
IRenderFactory duilib/Render/IRender.h 渲染接口的管理类,渲染接口管理,用于创建Font、Pen、Brush、Path、Matrix、Bitmap、Render等渲染实现对象
FontManager duilib/Core/FontManager.h 字体的管理类
ImageManager duilib/Core/ImageManager.h 图片的管理类
IconManager duilib/Core/IconManager_Windows.h HICON句柄管理器
ZipManager duilib/Core/ZipManager.h ZIP压缩包管理器
DpiManager duilib/Core/DpiManager.h DPI管理器,用于支持DPI自适应等功能
TimerManager duilib/Core/TimerManager.h 定时器管理器
LangManager duilib/Core/LangManager.h 多语言支持管理器
CursorManager duilib/Core/CursorManager.h 光标管理器
ThreadManager duilib/Core/ThreadManager.h 线程管理器
ColorManager duilib/Core/ColorManager.h 颜色管理器
  • libcef控件封装相关
类名称 关联头文件 用途
CefManager duilib/CEFControl/CefManager.h CEF控件管理器,负责CEF模块的初始化和反初始化相关工作
CefControl duilib/CEFControl/CefControl.h CEF控件接口,提供网页浏览相关的基本功能及事件的接受等功能
CefControlEvent duilib/CEFControl/CefControlEvent.h CEF控件的网页浏览相关事件接收接口
CefControlNative duilib/CEFControl/CefControlNative.h CEF控件窗口模式的封装
CefControlOffScreen duilib/CEFControl/CefControlOffScreen.h CEF控件离屏渲染模式的封装