zoukankan      html  css  js  c++  java
  • 单文档视图分割和获取各个视图指针;

    假如分割的视图只有一个视图类,把视图分割成4个视图;

    在单文档的CMainFrame类定义视图分割成员变量

    CSplitterWnd m_splitter;//分割工具

    在函数BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)分割视图

    把视图分割成2行,上面一行又分为左右两列

    BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
    02.
    {
    03.
    // TODO: 在此添加专用代码和/或调用基类
    04.
    m_wndSplitter1.CreateStatic(this, 2, 1);//表示首先分割为2行1列

    //CFSView是你要现实的视图类,继承view,如果是对话框类的话,这个类就继承于CFormView,把对话框的属性Border设为NONE , Systly设为child;
    07.m_wndSplitter2.CreateStatic(&m_wndSplitter1, 1, 2, WS_CHILD|WS_VISIBLE, m_wndSplitter1.IdFromRowCol(0,0));//表示把第一行的分割为1行2列。
    08.m_wndSplitter2.CreateView(0, 0, RUNTIME_CLASS(CFSView), CSize(100, 100), pContext);//把第一行分割成列
    09.m_wndSplitter2.CreateView(0, 1, RUNTIME_CLASS(CFSView), CSize(100, 100), pContext);
    10. 
    11.m_wndSplitter1.CreateView(1, 0, RUNTIME_CLASS(CFSView), CSize(100, 100), pContext);//表示接着把第二行分割出来;
    12. 


    return TRUE;
    12.
    }

    *************************************************************

    如果是把设为2行一列,把第二行的在设为一行两列

    ******************************************************

    m_wndSplitter1.CreateStatic(this, 2, 1);//表示首先分割为2行1列

    //CFSView是你要现实的视图类,继承view,如果是对话框类的话,这个类就继承于CFormView,把对话框的属性Border设为NONE , Systly设为child;
    06.m_wndSplitter1.CreateView(0, 0, RUNTIME_CLASS(CFSView), CSize(100, 100), pContext);//表示接着把第二行分割出来
    07.m_wndSplitter2.CreateStatic(&m_wndSplitter1, 1, 2, WS_CHILD|WS_VISIBLE, m_wndSplitter1.IdFromRowCol(1,0));//表示把第二行的分割为1行2列。
    08.m_wndSplitter2.CreateView(0, 0, RUNTIME_CLASS(CFSView), CSize(100, 100), pContext);//把第一行分割成列
    09.m_wndSplitter2.CreateView(0, 1, RUNTIME_CLASS(CFSView), CSize(100, 100), pContext);
     

    *********************************************************************

    获取各个分割视图的对象指针

    *********************************************************************

    根据分割的顺序获取,

    1获取第零个,

    POSITION pos = GetFirstViewPosition();
    CMapHeadFileView *pPMapFileView ;
    if ( pos )
    {
    pPMapFileView = ( CMapHeadFileView * )GetNextView( pos );
    }

    return pPMapFileView;

    POSITION pos = GetFirstViewPosition();
    CMapHeadFileView *pPMapFileView ;
    if ( pos )
    {

    GetNextView( pos );
    pPMapFileView = ( CMapHeadFileView * )GetNextView( pos );获取第1个;
    }

    ;获取第2个;

    POSITION pos = GetFirstViewPosition();
    CMapHeadFileView *pPMapFileView ;
    if ( pos )
    {

    GetNextView( pos );

    GetNextView( pos );
    pPMapFileView = ( CMapHeadFileView * )GetNextView( pos );获取第二个;
    }

  • 相关阅读:
    大数据面试题题库
    IDEA下通过Git实现代码管理
    使用QJM实现HDFS的HA配置
    1、HDFS分布式文件系统
    分析system_call中断处理过程
    由一段代码解析系统调用的原理
    从linux内核代码分析操作系统启动过程
    一个简单的时间片轮转多道程序内核
    从一段代码的汇编看计算机的工作原理
    九度OJ1468
  • 原文地址:https://www.cnblogs.com/chenzuoyou/p/3286073.html
Copyright © 2011-2022 走看看