我试图了解程序在调整大小时如何确定新的宽度/高度。
有人会认为这只是像 4:3 这样的长宽比(这将导致 1.333333 左右的值),但是正如您在此 gif 中看到的,分区宽度/高度根据窗口大小会产生非常不同的结果。
https://gyazo.com/f3d514b9bf51f49899612090868ec140
我见过很多程序都是这样的。知道这背后的算法是什么吗?
谢谢!
WM_WINDOWPOSCHANGING
消息来强制指定特定的窗口大小。当用户调整窗口大小时,您可以通过任何您想要的算法来决定新的宽度和高度。
造成宽度/高度比率的问题是标题,无论新尺寸如何,高度都是相同的,因此破坏了每个新尺寸的比率,考虑到 -30 px,比率现在总是给出相同的值。
干杯!
首选的主窗口大小取决于您创建应用程序的原因。 实际上,可以应用某种自动调整大小。
我的意思是: 如果主窗口用于显示视频,则需要获得优选的视频帧大小。否则,如果对窗口大小没有具体要求,那么使用某种现有示例可能会很有价值
最简单的方法是在Windows操作系统下启动命令提示符控制台应用程序,当然控制台不是在屏幕居中,但是控制台有一个适合当前屏幕分辨率的默认大小
例如: 我的笔记本电脑屏幕的显示分辨率为:1920x1220px; 控制台窗口的默认大小为1220x697px; 看起来非常好。 因此,缩放系数约为 1.56。 我相信在许多情况下可以将其用作计算主窗口默认大小的规则。 最后,在客户区域大小被认为至关重要的情况下,可以考虑窗口标题高度。