2.5 KiB
2.5 KiB
功能变更 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标题不再使用独立LabelDialog在模态和非模态场景中的重绘语义被收紧
- 删除 / 废弃项:[可选]
MessageBox::showAsync/showModal()中对setInitialization(true)的直接调用已移除
- 受影响的文件 / 类 / 函数:
Dialog.h / Dialog.cppMessageBox.cppWindow.cpp
- 对外 API / 属性变化:[可选]
Dialog在窗口变化时的对外可观察行为改为“只居中,不拉伸”
行为对照
- 变更前:
Dialogresize 时可能重建行为与快照行为混杂,标题区域额外依赖子控件快照。
- 变更后:
Dialog尺寸由内容决定;窗口变化只重新居中;标题直接绘制,减少一层快照时序问题。
- 兼容性说明:部分兼容
- 迁移说明:[可选]
- 如果外部逻辑曾假设
Dialog会跟随窗口拉伸,现在需要改按“仅居中”理解
- 如果外部逻辑曾假设
验证与落地
- 验证方式:
KEY == 2 / 3 / 4相关场景静态推演与回归
- 验证结果:
- 标题更新、消息框初始化链、resize 后位置语义更稳定
- 关联 BUG / Fix:[可选]
BUG-20260409-0001Fix-BUG-20260409-0001
- Commit:
4a6e1537f8431a- 当前工作区部分未提交整理
- PR:[可选]
- 发布版本:[可选]
- 备注:[可选]