• 单文档视图分割和获取各个视图指针;


    假如分割的视图只有一个视图类,把视图分割成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 );获取第二个;
    }

  • 相关阅读:
    表单小知识
    HTML列表,表格与媒体元素
    P1008 三连击
    打鱼晒网问题
    最小编辑距离算法
    算法设计与分析--01背包问题(动态规划法解决)
    文件读写函数
    C语言中数据输入输出到文件操作freopen()函数(1)
    输入输出框架(未完待续)
    阶乘1到阶乘n的和
  • 原文地址:https://www.cnblogs.com/chenzuoyou/p/3286073.html
Copyright © 2020-2023  润新知