视图的三叉切分

原创 2006年06月08日 10:51:00

1、在主框架中声明两个CSplitterWnd对象
public:
  CSplitterWnd m_wndSplitter1;
  CSplitterWnd m_wndSplitter2;

2、重载CMainFrame::OnCreateClient,左一右二方式切分
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
  // TODO: Add your specialized code here and/or call the base class
  //分成1行2列
  m_wndSplitter1.CreateStatic(this,1,2);
  m_wndSplitter1.CreateView(0,0,RUNTIME_CLASS(CMyView1),CSize(100,100),pContext);
  //对第0行第1列进行操作,将其分成2行1列
  m_wndSplitter2.CreateStatic(&m_wndSplitter1,
                2,1,
                WS_CHILD|WS_VISIBLE,
                m_wndSplitter1.IdFromRowCol(0,1));
     //IdFromRowCol()获取右半窗格的子窗口ID
  //以选中的那个部分为基准,创建第0行第0列

  m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CMyView2),CSize(100,100),pContext);
  //以选中的那个部分为基准,创建第1行第0列
  m_wndSplitter2.CreateView(1,0,RUNTIME_CLASS(CMyView3),CSize(100,100),pContext);
  return TRUE;
}

3、重载CMainFrame::OnCmdMsg否则命令消息无法达到新的两个视图
BOOL CMainFrame::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo)
{
  // TODO: Add your specialized code here and/or call the base class
  CDocument* pDoc=GetActiveDocument();
  POSITION pos=pDoc->GetFirstViewPosition();
  pDoc->GetNextView(pos);
  CView* pView2=pDoc->GetNextView(pos);
  CView* pView3=pDoc->GetNextView(pos);
     //视图3先处理
  if(pView3->OnCmdMsg(nID,nCode,pExtra,pHandlerInfo))
    return TRUE;
     //视图2接着处理
  if(pView2->OnCmdMsg(nID,nCode,pExtra,pHandlerInfo))
    return TRUE;
     //实在没有框架接着处理
  return CFrameWnd::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);
}

MFC 知识总结<2>MFC CView

1.MFC CView MFC提供了CView类的多种派生类,以提供对多种控件的支持。为用户提供多元化的显示界面。 CScrollView 提供滚动支持。 CCtrlView 支持t...

获取CMainFrame类指针

转自:http://blog.csdn.net/yy13210520/article/details/6574008 CMainFrame: GetActiveView()可得到View指针。 ...

单文档三叉视图实例

  • 2015年08月26日 15:02
  • 46.96MB
  • 下载

失败的三叉树+ac自动机(TLE可能是插入时未进行平衡操作)

TLE,TLE,各种姿势还是TLE,改递归

单文档窗体切分视图切换

  • 2012年11月05日 21:35
  • 4.23MB
  • 下载

论Hull-White模型三叉树的构建

  • 2015年09月25日 11:00
  • 807KB
  • 下载

【cdoj 1335】柱爷与三叉戟不得不说的故事 状压dp+子集枚举

其实拿到这道题很容易就能想到是状压dp,原因很简单,因为他每一次打开一个洞穴以后就必须要拿走里面所有的元素(那个伤害什么老大爷就是纯属扯淡),就类似与一个打包子集的概念,而题目要求必须得到所有的元素,...
  • pbihao
  • pbihao
  • 2016年08月03日 17:07
  • 266

vc实现切分多视图窗口

  • 2009年08月11日 16:54
  • 700KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:视图的三叉切分
举报原因:
原因补充:

(最多只允许输入30个字)