工控编程吧

标题: 上位机MFC如何动态分割视窗 [打印本页]

作者: qq263946146    时间: 2019-7-24 13:16
标题: 上位机MFC如何动态分割视窗
功能不常用用到,但部分软件仍有用,比如solidwork机械设计软件,在同一个视窗分割不同区域显示不同视图。
要实现这一功能 ,也可以通过几个步骤实现。
在主框架窗口准备一变量
        CSplitterWnd m_wndSplitter;
添加虚函数OnCreateClient初始化变量
  1. BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
  2. {
  3.         //创建动态窗口
  4.         return m_wndSplitter.Create(this, 2, 2, CSize(10, 10), pContext);
  5.        
  6.         return CFrameWnd::OnCreateClient(lpcs, pContext);
  7. }
复制代码
然后就是关联一任一菜单项来实现动态分割视窗
这里我们关联到窗口类中
void CGkbc8View::OnFuck()
{
        CSplitterWnd* pSplitter = GetParentSplitter(this, FALSE);
        if (pSplitter == NULL)
        {
                return;
        }

        ASSERT(!pSplitter->IsTracking());
        pSplitter->DoKeyboardSplit();
}

执行效果如下图
(, 下载次数: 5)