答案1
我认为这不可能。
最大化窗口具有一些特殊特征,而不仅仅是调整到屏幕最大尺寸的窗口。最大化窗口的位置和大小大于屏幕,因此边框超出了可见区域。由于鼠标无法超出屏幕尺寸,因此无法触及边框并用于调整窗口大小。这些都是有记录的行为,自 Windows 早期以来一直如此。对此的任何更改都可能存在兼容性问题。
答案2
我还没有现成的解决方案,但由于另一个答案无论如何都是理论上的,我想说,有志者事竟成。
LMiller7 提出了很好的观点。为了避免兼容性问题,我建议你停止使用原生最大化按钮,并自行构建。例如,在原生按钮上方绘制一个可交互的叠加按钮,这样原生功能就永远不会被使用。
该“自定义最大化按钮”应调整所选窗口的大小以占据几乎整个屏幕,以便拖动手柄仍在屏幕上并可用。我相信这绝对是可能的,因为我使用过可以将窗口大小调整为特定尺寸的应用程序。(例如 PowerToys FancyZones)
- 尽管如此,但需要权衡的是,您的窗口/屏幕边缘会有边框。
- 忽略原生最大化功能的另一个缺点是:你会因为在以下两个选项之间切换而无法节省窗口大小:
- 最大化(框图标按钮),以及
- 恢复(双框图标,窗口最大化时出现,与最大化按钮位置相同)
- 这还会增加性能开销。
- 采用覆盖方法可能很难/不可能很好地实现功能和用户体验。
[1.] 对我来说是负面的,因为我非常注重美观。在 Mac 中,窗口边框看起来“干净”且不显眼,不像 Windows(10 或 11)不那么吸引人的边框。我想尝试以某种方式更改边框样式,但这是一件小事。您可能会习惯它,或者最坏的情况是研究边框样式的修改,看看是否可行。
[2.] 可以通过实现自己的系统在最大化和恢复的尺寸之间切换来解决。
如果优化得当,[3.] 应该可以忽略不计,但对于出色的用户体验来说,这是必要的成本。
[4.] 是我不太了解的一个缺点。我怀疑我的想法可能由于技术限制而显得笨重(覆盖必须正确对齐,更新速度可能很慢),但至少还是“可能的”。
TL;DR 总之,有“一种方法可以实现它”,但如果你不是一位有空闲时间的熟练程序员,这可能是不可行的。
针对“我不知道为什么这是不可能的”这个问题的另一个细节:据我所知,除了简单性和一致性之外,没有真正的原因。您可以在 Mac OS 上执行此操作,这对窗口管理来说真是天赐之物!