【问题标题】:Scale all control to window size将所有控件缩放到窗口大小
【发布时间】:2020-01-21 11:01:45
【问题描述】:

我有一个基于对话框的应用程序,其中包含控件,例如 treectrl、listsctrl 和包含所有按钮控件的组框。我在 Visual Studio 2010 专业版中工作。所有控件在设计时都放置在对话框中,并且在运行时不创建任何控件。

使用

int desktopW = GetSystemMetrics(SM_CXVIRTUALSCREEN); 
int desktopH = GetSystemMetrics(SM_CYVIRTUALSCREEN);

得到窗口的宽度和高度,然后找到控件的相对位置。

使用SetWindowPos尝试改变各种控件的宽高,如果新的宽高小于旧控件的宽高。

但这涉及大量计算。

是否有任何简单的方法可以根据窗口大小更改控件位置/缩放?

【问题讨论】:

标签: visual-studio-2010 mfc


【解决方案1】:

使用Dynamic Layout 作为控件。

查看每个控件的属性。然后通过使用 Moving TypeSizing Type 属性,您可以指定控件在对话框框架调整大小时必须如何移动和/或调整大小。

【讨论】:

  • 我在VS 2010专业版工作,看不到上面的设置。
  • 这个只有VS2015以后才有。
  • @Jabberwocky 是的,但该信息仅在我回答后才添加到问题中。留在这里留给后代。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多