Files
StellarX-kaifa/开发记录/功能变更/Feature-20260409-0002-Dialog与MessageBox行为调整.md

2.5 KiB
Raw Permalink Blame History

功能变更 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[可选]
  • 发布版本:[可选]
  • 备注:[可选]