窗口纵横比根据窗口大小而变化

问题描述 投票:0回答:3

我试图了解程序在调整大小时如何确定新的宽度/高度。

有人会认为这只是像 4:3 这样的长宽比(这将导致 1.333333 左右的值),但是正如您在此 gif 中看到的,分区宽度/高度根据窗口大小会产生非常不同的结果。

https://gyazo.com/f3d514b9bf51f49899612090868ec140

我见过很多程序都是这样的。知道这背后的算法是什么吗?

谢谢!

windows winapi aspect
3个回答
0
投票

可以通过处理

WM_WINDOWPOSCHANGING
消息来强制指定特定的窗口大小。当用户调整窗口大小时,您可以通过任何您想要的算法来决定新的宽度和高度。


0
投票

造成宽度/高度比率的问题是标题,无论新尺寸如何,高度都是相同的,因此破坏了每个新尺寸的比率,考虑到 -30 px,比率现在总是给出相同的值。

干杯!


0
投票

首选的主窗口大小取决于您创建应用程序的原因。 实际上,可以应用某种自动调整大小。

我的意思是: 如果主窗口用于显示视频,则需要获得优选的视频帧大小。否则,如果对窗口大小没有具体要求,那么使用某种现有示例可能会很有价值

最简单的方法是在Windows操作系统下启动命令提示符控制台应用程序,当然控制台不是在屏幕居中,但是控制台有一个适合当前屏幕分辨率的默认大小

例如: 我的笔记本电脑屏幕的显示分辨率为:1920x1220px; 控制台窗口的默认大小为1220x697px; 看起来非常好。 因此,缩放系数约为 1.56。 我相信在许多情况下可以将其用作计算主窗口默认大小的规则。 最后,在客户区域大小被认为至关重要的情况下,可以考虑窗口标题高度。

© www.soinside.com 2019 - 2024. All rights reserved.