我能否在调整大小时锁定MFC对话框的宽度或高度?

6
在MFC中,有没有一种方法可以锁定对话框框的大小,使其在一个方向上受限(仅限宽度或仅限高度)?

1
你的意思是除了使对话框不可调整大小之外还有其他方法吗?我无法想象有比这更好的方法来锁定宽度和高度。 - Cody Gray
是的,我的意思是使其在一个维度上不可调整大小(而不是两个维度)。如何使用MFC CDialog API实现? - Daryna
1个回答

10

你需要重写OnGetMinMaxInfo函数。在OnInitDialog中,你可以获取当前的窗口高度,并将其用于最小和最大高度。首先调用__super::OnGetMinMaxInfo,然后再仅更改高度成员变量。请注意,在前几次调用OnGetMinMaxInfo时,窗口可能不存在。

这里有一篇关于GetMinMaxInfo的详细文章


+1 这是正确的解决方案。此外,Joseph Newcomer的网站链接很好。这对于MFC开发人员来说是一个很好的资源。虽然我个人不怎么使用 __super;但在这个例子中它可以轻松地被 CDialog 替换以最小化歧义。 - Cody Gray
很棒的链接,我以前在做MFC时也用过那个页面。 - Justin
1
如果你重命名一个类的基类,那么使用__super会很方便,这样你就不必查找和替换现有的基类调用。 - Aidan Ryan

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