zoukankan      html  css  js  c++  java
  • 在WTL中分割窗体

    1.在main source file (有_Module定义的那个cpp)中加入:
    //add
    #include <atlmisc.h>
    #include <atlctrlx.h>

    2.在MainFrm.h中加入:
    #include <atlsplit.h>

    3.在类CMainFrame中加入成员变量:
     CHorSplitterWindow m_wndHorzSplit;
     CSplitterWindow m_wndVertSplit;

    4.在CMainFrame的OnCreate中:

     const DWORD dwSplitStyle = WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS;
     const DWORD dwSplitExStyle = WS_EX_CLIENTEDGE;

     m_wndHorzSplit.Create ( *this, rcDefault, NULL,
          dwSplitStyle, dwSplitExStyle );
     m_wndVertSplit.Create ( m_wndHorzSplit, rcDefault, NULL,
          dwSplitStyle, dwSplitExStyle );

     m_wndHorzSplit.SetSplitterPane ( SPLIT_PANE_BOTTOM, m_wndVertSplit );

     m_view.Create(m_wndVertSplit, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | TVS_HASLINES | TVS_LINESATROOT | TVS_SHOWSELALWAYS, WS_EX_CLIENTEDGE);

     m_hWndClient = m_wndHorzSplit;
     UpdateLayout();
     m_wndHorzSplit.SetSplitterPos(64);
     m_wndVertSplit.SetSplitterPos(200);
     m_wndVertSplit.SetSplitterPanes ( m_view, NULL );

    备注:
    (1)注意绿色的那行,需要将原来OnCreate里的m_hWndClient =  m_view.Create(...)注释掉
    (2)注意红色的部分,要改一下。

  • 相关阅读:
    观察者模式
    策略模式
    设计模式之Template Method
    面向对象设计原则
    设计模式简介
    封装Server类和Client类
    为客户端添加输入线程
    客户端升级为select网路模型
    将服务端select设置为非阻塞,处理更多业务
    Laradock 使用中遇到的问题汇总
  • 原文地址:https://www.cnblogs.com/huqingyu/p/40638.html
Copyright © 2011-2022 走看看