【问题标题】:How to force a window to maintain a certain width/height ratio when resized调整大小时如何强制窗口保持一定的宽度/高度比
【发布时间】:2010-03-15 16:31:01
【问题描述】:

我希望我的窗口始终保持一定的比率,比如说 1.33333333。所以,如果窗口是width = 800, height = 600,并且用户将宽度更改为600,我想自动将高度更改为450。

我已经在拦截WM_SIZE,但不知道够不够;我也不知道如何改变宽度或高度来保持我的比例。

【问题讨论】:

标签: c++ winapi


【解决方案1】:

WM_SIZING 在用户调整窗口大小时发送到窗口。

而是处理WM_WINDOWPOSCHANGING - 当代码(或用户)更改窗口大小时,它由内部 SetWindowPos 函数发送,并将确保平铺和级联操作遵守您的大小调整策略。

【讨论】:

    【解决方案2】:

    WM_SIZINGhttp://msdn.microsoft.com/en-us/library/ms632647.aspx

    处理此消息允许您更改生成的窗口大小。

    【讨论】:

      【解决方案3】:

      试试 Resize 事件。有一个示例说明如何在链接中保持所需的纵横比。

      【讨论】:

      • 我没有使用 .NET,我相信那是 .NET:/
      猜你喜欢
      • 2020-04-23
      • 1970-01-01
      • 2017-03-27
      • 2011-05-21
      • 1970-01-01
      • 2015-01-31
      • 2013-04-03
      • 1970-01-01
      • 2020-10-20
      相关资源
      最近更新 更多