Snapshot before max-resize threshold diagnosis
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
# 功能变更 ID: Feature-20260409-0002
|
||||
|
||||
> 适用场景:记录小到中等规模的功能、接口、行为、默认值或配置变化。
|
||||
> 不适用场景:新增核心模块、重大模块重构、架构级设计,请使用“新增功能模块”模板。
|
||||
|
||||
## 基本信息
|
||||
|
||||
- ID: Feature-20260409-0002
|
||||
- 标题: Dialog 与 MessageBox 行为调整
|
||||
- 状态:已完成
|
||||
- 类型:修改
|
||||
- 级别:L2 中等
|
||||
- 模块:Dialog / MessageBox / Window
|
||||
- 版本 / 分支:`master`
|
||||
- 环境:Windows + EasyX + VS2022
|
||||
- 负责人:Codex 协作修改
|
||||
|
||||
## 变更背景
|
||||
|
||||
- 背景:
|
||||
- 初始版本中 `Dialog` 的初始化、resize、标题绘制和 `MessageBox` 外层调用关系较松散。
|
||||
- 目标:
|
||||
- 明确 `Dialog` 行为边界,让其在 resize、显示、关闭、标题更新等场景更稳定。
|
||||
- 不做什么:[可选]
|
||||
- 暂不重命名 `setInitialization()` 这类历史接口。
|
||||
|
||||
## 变更内容
|
||||
|
||||
- 变更摘要:
|
||||
- `Dialog` 在窗口变化时只重新居中;标题直接由 `Dialog` 自身绘制;`MessageBox` 不再外层强制初始化。
|
||||
- 新增项:[可选]
|
||||
- `Dialog::recenterInHostWindow()`
|
||||
- 修改项:[可选]
|
||||
- `SetTitle / SetMessage / SetType` 触发重新布局
|
||||
- `Dialog` 标题不再使用独立 `Label`
|
||||
- `Dialog` 在模态和非模态场景中的重绘语义被收紧
|
||||
- 删除 / 废弃项:[可选]
|
||||
- `MessageBox::showAsync/showModal()` 中对 `setInitialization(true)` 的直接调用已移除
|
||||
- 受影响的文件 / 类 / 函数:
|
||||
- `Dialog.h / Dialog.cpp`
|
||||
- `MessageBox.cpp`
|
||||
- `Window.cpp`
|
||||
- 对外 API / 属性变化:[可选]
|
||||
- `Dialog` 在窗口变化时的对外可观察行为改为“只居中,不拉伸”
|
||||
|
||||
## 行为对照
|
||||
|
||||
- 变更前:
|
||||
- `Dialog` resize 时可能重建行为与快照行为混杂,标题区域额外依赖子控件快照。
|
||||
- 变更后:
|
||||
- `Dialog` 尺寸由内容决定;窗口变化只重新居中;标题直接绘制,减少一层快照时序问题。
|
||||
- 兼容性说明:部分兼容
|
||||
- 迁移说明:[可选]
|
||||
- 如果外部逻辑曾假设 `Dialog` 会跟随窗口拉伸,现在需要改按“仅居中”理解
|
||||
|
||||
## 验证与落地
|
||||
|
||||
- 验证方式:
|
||||
- `KEY == 2 / 3 / 4` 相关场景静态推演与回归
|
||||
- 验证结果:
|
||||
- 标题更新、消息框初始化链、resize 后位置语义更稳定
|
||||
- 关联 BUG / Fix:[可选]
|
||||
- `BUG-20260409-0001`
|
||||
- `Fix-BUG-20260409-0001`
|
||||
- Commit:
|
||||
- `4a6e153`
|
||||
- `7f8431a`
|
||||
- 当前工作区部分未提交整理
|
||||
- PR:[可选]
|
||||
- 发布版本:[可选]
|
||||
- 备注:[可选]
|
||||
Reference in New Issue
Block a user