Called by the framework when the standard control bars are toggled on or off or when the frame window is resized.
当标准工具栏或状态栏隐藏或者显示,或者窗口调整大小时,框架调用这个方法。
方法原型为:
|
---|
virtual void RecalcLayout(
BOOL bNotify = TRUE
); |
Parameters
-
bNotify
-
Determines whether the active in-place item for the frame window receives notification of the layout change. If TRUE, the item is notified; otherwise FALSE.
-
决定是否将焦点项目传递这个变化,如果是TRUE就通知子项目,否则,不传递。
- void CMainFrame::OnViewToolbar1()
- {
- // TODO: 在此添加命令处理程序代码
- m_wndToolBar1.ShowWindow(m_wndToolBar1.IsWindowVisible()? SW_HIDE:SW_SHOW);
- RecalcLayout();
- }
这里m_wndToolBar1是自己定义的一个工具栏,:OnViewToolbar1()是一个菜单项的消息响应函数。
当工具栏显示时,点击这个菜单项,工具栏隐藏,然后调用RecalcLayout这个方法,重新布置窗口。
当工具栏隐藏式,点击这个菜单项,工具栏显示,然后调用RecalcLayout这个方法,重新布置窗口。
同时注意:当我们把一个工具栏变为一个浮动窗口时,我们通过RecalcLayout只是把相应的工具栏隐藏了,因为浮动窗上边的内容不属于工具栏,这时,我们仅仅需要重新停靠一下即可。