如何在调整大小时强制窗口保持特定的宽高比?

6
我希望我的窗口始终保持特定的比例,例如1.33333333。因此,如果窗口宽度为 width = 800,height = 600 ,用户将宽度更改为600,则我希望自动将高度更改为450。
我已经拦截了 WM_SIZE ,但不知道是否足够;而且我不知道如何更改宽度或高度以保持我的比例。

略有不同的问题,但通常的答案与以下链接相同:https://dev59.com/b0zSa4cB1Zd3GeqPmnGm - Adrian McCarthy
3个回答

9

WM_SIZING是在用户改变窗口大小时发送到窗口的。

更好的处理方式是处理WM_WINDOWPOSCHANGING - 当代码(或用户)更改窗口大小时,内部的SetWindowPos函数会发送此消息,并确保即使是平铺和级联操作也遵守您的大小策略。


3

-1
尝试使用Resize事件。链接中有一个如何保持所需纵横比的示例。

我没有使用.NET,而那是.NET吧 :/ - woor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接