本文整理汇总了C++中CChildFrame::RecalcLayout方法的典型用法代码示例。如果您正苦于以下问题:C++ CChildFrame::RecalcLayout方法的具体用法?C++ CChildFrame::RecalcLayout怎么用?C++ CChildFrame::RecalcLayout使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CChildFrame
的用法示例。
在下文中一共展示了CChildFrame::RecalcLayout方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SwitchToView
//.........这里部分代码省略.........
// connect the view to the document
AddView(pViewAdd);
}
else
{
pViewAdd = pBNewView->m_pView;
}
// save file on switching views
if (theApp.m_opOptions.general.dwSaveOnSwitch && !m_xTextBuffer.GetReadOnly() && pViewDel)
DoFileSave();
CSplitterWnd* pSplitter = NULL;
POSITION pos = GetFirstViewPosition();
BOOL firstOne = true;
while (pos)
{
CView* pv = GetNextView(pos);
if (pv == pViewAdd)
{
pv->SetDlgCtrlID(AFX_IDW_PANE_FIRST);
// show the view
if (pBNewView->m_bAllowsSplitter)
{
pSplitter = (CSplitterWnd*)pViewAdd->GetParent();
// show the splitter (show the children view(s) as well)
pSplitter->ShowWindow(SW_SHOW);
}
else
// show the view
pViewAdd->ShowWindow(SW_SHOW);
}
else
{
// check if the view is inside a splitter
if (pv->GetParent()->GetRuntimeClass() == (CRuntimeClass*)RUNTIME_CLASS(CSplitterWnd))
{
pSplitter = (CSplitterWnd*)pv->GetParent();
// hide the splitter (hide all views with the splitter)
pSplitter->ShowWindow(SW_HIDE);
}
else
{
// hide the view
pv->ShowWindow(SW_HIDE);
pv->SetDlgCtrlID(AFX_IDW_PANE_FIRST + 255);
}
}
TRACE("%s (%d) ", pv->GetRuntimeClass()->m_lpszClassName, (unsigned)(pv->GetDlgCtrlID() - AFX_IDW_PANE_FIRST));
if (pv == pViewDel) TRACE("= D ");
if (pv == pViewAdd) TRACE("= A ");
if (pv->GetRuntimeClass() == pGlobalView->m_pClass)
{
if (firstOne)
firstOne = false;
else
TRACE("removing ");
}
}
TRACE("\n");
// get rid of extra views created by the splitter
if (pSplitter)
{
for (int cols = 1; cols < pSplitter->GetColumnCount(); cols++)
pSplitter->DeleteColumn(cols);
for (int rows = 1; rows < pSplitter->GetRowCount(); rows++)
pSplitter->DeleteRow(rows);
pSplitter->RecalcLayout();
}
pViewAdd->UpdateWindow();
pChild->SetActiveView(pViewAdd);
pChild->RecalcLayout();
if (pBNewView->m_bModifiedSinceRefresh)
{
pBNewView->m_bModifiedSinceRefresh = FALSE;
if (pGlobalView->m_pClass == RUNTIME_CLASS(CXMLTreeView))
{
((CXMLTreeView*)pViewAdd)->RefreshView();
}
else if (pGlobalView->m_pClass == RUNTIME_CLASS(CBrowserView))
{
((CBrowserView*)pViewAdd)->RefreshView();
}
else
{
pBNewView->m_bModifiedSinceRefresh = TRUE;
}
}
return TRUE;
}