使 Windows 10 中的窗口在最大化时可以通过拖动调整大小

使 Windows 10 中的窗口在最大化时可以通过拖动调整大小

我想知道为什么窗口最大化时无法调整大小。有什么方法可以做到这一点吗?

谢谢。

https://prnt.sc/mgtm5f

答案1

我认为这不可能。

最大化窗口具有一些特殊特征,而不仅仅是调整到屏幕最大尺寸的窗口。最大化窗口的位置和大小大于屏幕,因此边框超出了可见区域。由于鼠标无法超出屏幕尺寸,因此无法触及边框并用于调整窗口大小。这些都是有记录的行为,自 Windows 早期以来一直如此。对此的任何更改都可能存在兼容性问题。

答案2

我还没有现成的解决方案,但由于另一个答案无论如何都是理论上的,我想说,有志者事竟成。

LMiller7 提出了很好的观点。为了避免兼容性问题,我建议你停止使用原生最大化按钮,并自行构建。例如,在原生按钮上方绘制一个可交互的叠加按钮,这样原生功能就永远不会被使用。

该“自定义最大化按钮”应调整所选窗口的大小以占据几乎整个屏幕,以便拖动手柄仍在屏幕上并可用。我相信这绝对是可能的,因为我使用过可以将窗口大小调整为特定尺寸的应用程序。(例如 PowerToys FancyZones)


  1. 尽管如此,但需要权衡的是,您的窗口/屏幕边缘会有边框。
  2. 忽略原生最大化功能的另一个缺点是:你会因为在以下两个选项之间切换而无法节省窗口大小:
    • 最大化(框图标按钮),以及
    • 恢复(双框图标,窗口最大化时出现,与最大化按钮位置相同)
  3. 这还会增加性能开销。
  4. 采用覆盖方法可能很难/不可能很好地实现功能和用户体验。

[1.] 对我来说是负面的,因为我非常注重美观。在 Mac 中,窗口边框看起来“干净”且不显眼,不像 Windows(10 或 11)不那么吸引人的边框。我想尝试以某种方式更改边框样式,但这是一件小事。您可能会习惯它,或者最坏的情况是研究边框样式的修改,看看是否可行。

[2.] 可以通过实现自己的系统在最大化和恢复的尺寸之间切换来解决。

如果优化得当,[3.] 应该可以忽略不计,但对于出色的用户体验来说,这是必要的成本。

[4.] 是我不太了解的一个缺点。我怀疑我的想法可能由于技术限制而显得笨重(覆盖必须正确对齐,更新速度可能很慢),但至少还是“可能的”。


TL;DR 总之,有“一种方法可以实现它”,但如果你不是一位有空闲时间的熟练程序员,这可能是不可行的。

针对“我不知道为什么这是不可能的”这个问题的另一个细节:据我所知,除了简单性和一致性之外,没有真正的原因。您可以在 Mac OS 上执行此操作,这对窗口管理来说真是天赐之物!

相关内容