增加实例:将hp-socket通讯框架集中到UI
This commit is contained in:
27
CLAUDE.md
27
CLAUDE.md
@@ -9,8 +9,13 @@ EzUI 是一个基于原生 Win32 消息机制和 Direct2D 的 C++ 桌面 UI 框
|
||||
## 构建命令
|
||||
|
||||
```bash
|
||||
build.bat # 构建 32 位静态库
|
||||
build64.bat # 构建 64 位静态库
|
||||
# 生成 Visual Studio 项目(推荐)
|
||||
cmake -S . -B build_x86 -A Win32 # 32位 VS 项目
|
||||
cmake -S . -B build_x64 -A x64 # 64位 VS 项目
|
||||
|
||||
# 或使用现有的批处理脚本
|
||||
build_x86.bat # 生成 32 位项目并打开
|
||||
build_x64.bat # 生成 64 位项目并打开
|
||||
```
|
||||
|
||||
CMake 构建:
|
||||
@@ -38,7 +43,7 @@ cmake -B build -DBUILD_SHARED_LIBS=OFF # 静态库(默认)
|
||||
- 基础控件:`Label`, `Button`, `TextBox`, `PictureBox`
|
||||
- 选择控件:`CheckBox`, `RadioButton`, `ComboBox`
|
||||
- 布局容器:`HLayout`, `VLayout`, `HListView`, `VListView`, `TileListView`, `TabLayout`
|
||||
- 功能控件:`ScrollBar`, `Menu`, `NotifyIcon`, `ProgressBar`, `TreeView`, `Spacer`
|
||||
- 功能控件:`ScrollBar`, `Menu`, `NotifyIcon`, `ProgressBar`, `TreeView`, `Spacer`, `TableView`, `IFrame`
|
||||
|
||||
### 布局系统
|
||||
- **尺寸优先级**:比例尺寸 (`SetRateWidth/Height`) > 绝对尺寸 (`SetFixedSize`) > 控件内容大小
|
||||
@@ -63,10 +68,25 @@ cmake -B build -DBUILD_SHARED_LIBS=OFF # 静态库(默认)
|
||||
- 跨线程调用:`BeginInvoke`(异步)/ `Invoke`(同步)
|
||||
- 全局隐藏窗口 `__EzUI_MessageWnd` 用于线程通讯
|
||||
|
||||
### 动画系统
|
||||
- `Animation` 类支持类似 Qt 的过渡动画
|
||||
- 可用于控件属性(位置、大小、透明度等)的平滑过渡
|
||||
|
||||
### 资源管理
|
||||
- 控件树内存由父控件自动管理:`Attach`/`Detach`
|
||||
- 图片资源通过 `PtrManager` 自动释放
|
||||
- XML 布局加载后由 `UIManager` 管理生命周期
|
||||
- `ResPackage.exe` 工具用于打包资源文件
|
||||
|
||||
## Demo 示例
|
||||
|
||||
Demo 位于 `demo/` 目录:
|
||||
- `helloWorld` - 基础 HelloWorld 示例
|
||||
- `QQ` - 仿 QQ 登录界面
|
||||
- `kugou` - 仿酷狗音乐播放器(需要 VLC 解码库)
|
||||
|
||||
Demo 新版位于 `demoEx/` 目录:
|
||||
- `Adminstor` - 用户管理 界面示例
|
||||
|
||||
## 开发约定
|
||||
|
||||
@@ -75,3 +95,4 @@ cmake -B build -DBUILD_SHARED_LIBS=OFF # 静态库(默认)
|
||||
- 一切皆控件,纯代码组合 UI
|
||||
- 使用 CSS 驱动视觉,结构与样式分离
|
||||
- 中文注释,中文沟通
|
||||
- 每次编码完毕无需编译,让用户自行编译验证
|
||||
|
||||
Reference in New Issue
Block a user