请问知道不知道如何在CSplitterWnd 中换其中的一个Pane?

Master 2000-01-13 10:01:00
急!急!急!请问知道不知道如何在CSplitterWnd 中换其中的一个Pane?

谢谢.
Mollison@990.net
...全文
262 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jackzhu 2000-01-18
  • 打赏
  • 举报
回复
m_splitterWnd.DeleteView(0, 0);
m_splitterWnd.CreateView(0, 0,RUNTIME_CLASS(CView), CSize(0, 0), NULL);
fan 2000-01-18
  • 打赏
  • 举报
回复
// 不知道下面函数是否对你有帮助


BOOL CSplitterWndEx ::ReplaceView(int nRow, int nCol, CRuntimeClass *pViewClass)
{
CView *pView = DYNAMIC_DOWNCAST( CView, GetPane( nRow, nCol ));
ASSERT_KINDOF( CView, pView );

if( pView->IsKindOf( pViewClass ))
return FALSE;

// 得到doc 指针
CDocument *pDoc = pView->GetDocument();

int nID = pView->GetDlgCtrlID();
int nWidth, nHeight, nMinWidth, nMinHeight;

GetRowInfo( nRow, nWidth, nMinWidth );
GetColumnInfo( nCol, nHeight, nMinHeight );

// Delete existing view
pView->DestroyWindow();

// Create new view
CCreateContext context;
context.m_pCurrentDoc = pDoc;
CreateView( nRow, nCol, pViewClass, CSize( nWidth, nHeight ), &context );
pView = DYNAMIC_DOWNCAST( CView, GetPane( nRow, nCol ));
ASSERT_KINDOF( CView, pView );

pView->SetDlgCtrlID( nID );

SetRowInfo( nRow, nWidth, nMinWidth );
SetColumnInfo( nCol, nHeight, nMinHeight );
RecalcLayout();

return TRUE;
}

BOOL CSplitterWndEx ::SwitchView(int nRow, int nCol, CView *pNewView)
{
CView *pOldView = DYNAMIC_DOWNCAST( CView, GetPane( nRow, nCol ));
ASSERT_KINDOF( CView, pOldView );

if( pOldView == pNewView )
return FALSE;

int nOldID, nNewID;

nOldID = pOldView->GetDlgCtrlID();
nNewID = pNewView->GetDlgCtrlID();

pOldView->ShowWindow(SW_HIDE);
pNewView->ShowWindow(SW_SHOW);

pOldView->SetDlgCtrlID(nNewID);
pNewView->SetDlgCtrlID(nOldID);

RecalcLayout();

return TRUE;
}
zdg 2000-01-17
  • 打赏
  • 举报
回复
你可以看看这篇文章, 就在本站:
Switching views in splitter panes (SDI)
http://www.midatech.com/csdn/visual%20C++/Source%20Code/Doc-View/switchviews_in_splitter.shtml.htm
Master 2000-01-17
  • 打赏
  • 举报
回复
是静态分割,而且是要用别的view 置换其中一个pane的现有view ,谢谢!
Master
fan 2000-01-14
  • 打赏
  • 举报
回复
分割是有连种方式,动态的和静态的,如果是静态分割我有办法,而且你是要隐藏其中一个,还是要用别的view 置换其中一个pane的现有view .请详细说明,我可以提供办法
zdg 2000-01-14
  • 打赏
  • 举报
回复
每个pane对应一个View, 你是要换View还是要重新安排分割方式呢???

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧