# 补充记录-20260409-窗口最大化收口保护

## 说明

- 本文件用于补充记录 2026-04-09 当天新增的窗口最大化收口问题。
- 对应修改发生在 `f567369` 快照之后，当前仍位于工作区未提交状态。

## 问题概述

- 现象：
  - 某些窗口初始尺寸下，直接点击最大化会出现黑背景、控件残影。
  - 若先手动拖拽窗口略微放大，再最大化，则问题消失。
- 影响用例：
  - `KEY == 1`
  - `KEY == 2`
- 不受影响用例：
  - `KEY == 3`
  - `KEY == 4`

## 根因

- [`Window.cpp`](D:/programming/imGUI-easyX/imGui-easyX/Window.cpp) 的 `runEventLoop()` resize 收口中存在一段历史“跨度保护”。
- 该保护把“宽高变化超过 1000”视为异常帧，直接终止收口：
  - 不再执行 `adaptiveLayout`
  - 不再执行 `Resize`
  - 不再执行 `redrawScene(true, true)`
- 因此新暴露区域不会被完整刷新，最终表现为黑背景与残影。

## 本次新增记录

- BUG：
  - [`BUG-20260409-0003 直接最大化触发收口保护导致黑背景与残影`](./BUG/BUG-20260409-0003-直接最大化触发收口保护导致黑背景与残影.md)
- Fix：
  - [`Fix-BUG-20260409-0003 直接最大化触发收口保护导致黑背景与残影`](./Fix/Fix-BUG-20260409-0003-直接最大化触发收口保护导致黑背景与残影.md)
- 功能变更：
  - [`Feature-20260409-0006 窗口最大化收口保护调整`](./功能变更/Feature-20260409-0006-窗口最大化收口保护调整.md)

## 修改摘要

- 将“跨度过大即跳过”改为“仅非法尺寸才跳过”。
- 非法尺寸标准：
  - `actualWidth <= 0`
  - `actualHeight <= 0`
  - `actualWidth > max(10000, virtualScreenWidth * 2)`
  - `actualHeight > max(10000, virtualScreenHeight * 2)`
- 对“大跨度但合法”的 resize 保留 `DEBUG` 日志，但继续执行完整收口。
- 顺手删除了 `Window.cpp` 中未使用的 `ExMessage mm;` 遗留变量。

## 当前状态

- 代码修改：已完成，待提交
- 文档记录：已补充
- 验证状态：
  - 已完成源码级编译验证
  - 待用户做 GUI 回归
