为什么我的列表框没有调整大小? (动态调整对话框组件的大小)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么我的列表框没有调整大小? (动态调整对话框组件的大小)相关的知识,希望对你有一定的参考价值。

我的应用程序是Win32;我正在使用VS 2015.我有一个包含列表框的对话框。我将列表框设置为动态调整大小,但在调整对话框大小时它不会更改。

以下是列表框的属性:

enter image description here

列表框是所有者绘制的:

enter image description here

这是对话框的默认大小:

enter image description here

当我在Resource Workshop对话框编辑器中的测试模式中伸展时,这就是对话框的样子。请注意,内部列表框也会扩展,完全符合预期:

enter image description here

但是,当它实际运行时,拉伸对话框不会增加列表框的大小:

enter image description here

为什么这不起作用?还有一些额外的伏都教我必须调用才能让它真正起作用吗?这只适用于MFC吗?什么是Win32相当于CWnd::ExecuteDlgInit

注意:我已经看过https://msdn.microsoft.com/en-us/library/mt270148.aspxhttp://mariusbancila.ro/blog/2015/07/27/dynamic-dialog-layout-for-mfc-in-visual-c-2015/,其中我没有找到答案。

答案

为了记录,我也在寻找解决方案,当我在对话框上调整控件时,所有动态调整大小都停止了工作,尽管它在测试模式下工作正常。

要修复它,在你发布的第二个链接中有一个关于添加函数的部分:void CMFCDynLayoutDemoDlg :: SetupDynamicLayout()

您重新设置动态布局管理器的位置

一旦我这样做,它开始为我的实时版本工作。

非常相似的答案也在这篇文章中:

Recalculate dynamic layout properties

以上是关于为什么我的列表框没有调整大小? (动态调整对话框组件的大小)的主要内容,如果未能解决你的问题,请参考以下文章

向对话框添加垂直抓手

调整大小时隐藏的组合框

VS2019 mfc combo box 调整下拉框高度(实测可行)及初始化

重新计算动态布局属性

重新打开时 JQuery UI 对话框没有正确调整大小?

jQuery - 对话框自动调整动态内容的大小并保持中心位置