1.6 KiB
1.6 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
项目概述
EzUI 是一个基于原生 Win32 消息机制和 Direct2D 的 C++ 桌面 UI 框架,提供类似 Web 前端的 CSS 样式系统和弹性布局。
构建命令
build.bat # 构建 32 位版本
build64.bat # 构建 64 位版本
或使用 CMake 直接构建:
cmake -B build
cmake --build build
核心架构
窗口类型 (继承层次)
Window- 经典边框窗口BorderlessWindow- 无边框带阴影窗口LayeredWindow- 分层透明窗口,支持异形PopupWindow- 失焦自动关闭的弹出窗口
控件系统
所有控件继承自 Control 基类,核心控件包括:
- 基础控件:
Label,Button,TextBox,PictureBox - 选择控件:
CheckBox,RadioButton,ComboBox - 布局容器:
HLayout,VLayout,HListView,VListView,TileListView,TabLayout - 功能控件:
ScrollBar,Menu,NotifyIcon,ProgressBar
样式与渲染
UIManager- UI 样式与资源管理,支持 XML 布局加载UISelector- CSS 选择器匹配系统Direct2DRender- Direct2D 绘图实现RenderTypes- 颜色、对齐方式等绘图类型
事件系统
支持事件冒泡机制,可实现事件捕获与穿透。Debug 模式下按 F11 可查看布局信息和控件边界。
开发约定
- 头文件位于
include/EzUI/目录 - 源文件位于
sources/目录 - 一切皆控件,纯代码组合 UI
- 使用 CSS 驱动视觉,结构与样式分离