在 MFC 中处理 OnSize 函数或可调整大小的对话框

Posted

技术标签:

【中文标题】在 MFC 中处理 OnSize 函数或可调整大小的对话框【英文标题】:Handling OnSize function or resizable dialog in MFC 【发布时间】:2012-12-19 13:25:40 【问题描述】:

在一个 MFC 应用程序中有一个窗格窗口。 在那个窗口上,

我添加了一个菜单栏和一个工具栏以及许多其他控件。 窗格窗口可调整大小。

现在对于可调整大小的窗口,我已经覆盖了函数 OnSize()。在那里我检索了顶部窗口大小,然后在它下面等等...... 然后对于每个控件,我都检索了它的窗口并调用了 MoveWindow()。

我只是想确保它是在 MFC 中处理可调整大小的窗口/对话框的正确方法,还是有其他一些可用的方法。

谢谢

【问题讨论】:

【参考方案1】:

不要重新发明***:试试ResizableLib。 它可以以非常简单的方式处理对话框的大小调整,您不必自己担心每个细节。

【讨论】:

【参考方案2】:

一次移动大量控件时,最好使用DeferWindowPos 以尽量减少重绘。我在https://***.com/a/5739620/5987 有一个如何将它用于可调整大小的 MFC 对话框的示例。

【讨论】:

以上是关于在 MFC 中处理 OnSize 函数或可调整大小的对话框的主要内容,如果未能解决你的问题,请参考以下文章

C++ MFC - 在 CDialog::OnSize 事件 (GetWindowRect) 上没有引发运行时错误的代码执行失败

MFC 中的“调整大小”对话框

MFC如何将窗口中所有控件大小随父窗口大小改变

Jquery UI 可排序和可调整大小的 Div

VC++ 中的 OnSize() 问题

在 MFC 中调整控件大小