在 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) 上没有引发运行时错误的代码执行失败