从头开始如何利用MFC分割窗口

从头开始如何利用MFC分割窗口,第1张

利用CSplitterWnd构造函数分割:

1、创建动态切分窗口

2、创建静态切分窗口

BOOL CreateView (int row,int col,CruntimeClass* pViewClass,SIZE sizeinit,CcreateContext* pContext)为实现复杂的分割窗口,需要在Cmainfrm.h中增加多个CSplitterWnd: 而多个视图之间通信只能让他们都与文档类通信。

if (!m_wndSplitter1.CreateStatic(this,1,2))

=》

if (!m_wndSplitter1.CreateStatic(this,2,1))

楼主可以这么做(就是方法比较戳):在第一次分割的时候先CreateView,指定Size,在第二次分割的时候先DeleteView,再CreateView,这样就不会有视图隐藏的情况了。

    if ( !m_split.CreateStatic(this, 1, 2) )

    {

        return FALSE

    }

    if (!m_split.CreateView(0, 0, RUNTIME_CLASS(CMy003View), 

        CSize(200,100), pContext) ||

        !m_split.CreateView(0, 1, RUNTIME_CLASS(CMy003View), 

        CSize(200,100), pContext))

    {

        m_split.DestroyWindow()

        return FALSE

    }

    m_split.DeleteView(0,0)

    if ( !m_splitLeft.CreateStatic(&m_split, 2, 1, WS_CHILD | WS_VISIBLE, 

        m_split.IdFromRowCol(0,0)) )

    {

        return FALSE

    }

    if ( !m_splitLeft.CreateView(0, 0, RUNTIME_CLASS(CMy003View), 

        CSize(200,100), pContext) || 

        !m_splitLeft.CreateView(1, 0, RUNTIME_CLASS(CMy003View), 

        CSize(200,100), pContext) )

    {

        m_splitLeft.DestroyWindow()

        return FALSE

    }

    return TRUE

运行结果:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12056973.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存