CFrameWndEx::AdjustDockingLayout()
和CFrameWndEx::RecalcLayout()
之间有什么区别?
他们两人都做类似的工作,如文档所说:AdjustDockingLayout(),RecalcLayout()。
除此之外,Interface Elements doc表示
如果您有调整停靠布局,并且框架会将此调用重定向到停靠管理器,则可以调用 AdjustDockingLayout 或 RecalcLayout 。
AdjustDockingLayout()
和RecalcLayout()
执行相同的工作吗?
答案 0 :(得分:1)
AdjustDockingLayout
比RecalcLayout
低一级。 RecalcLayout
来电AdjustDockingLayout
。但是AdjustDocinkgLayout
还有一个用于延迟窗口定位(HDWP)的附加参数。
因此,当您在启动程序或进行模式切换时从注册表恢复窗口布局时,不会调用RecalcLayout
。在这种情况下,AdjustDockingLayout
被调用。
因此,无论何时您需要内部,我都会致电RecalcLayout
。
详细说明:RecalcLayout
也为每个子窗口调用RecalcLayout
,最后只为当前窗口调用AdjustDockingLayout
。