默认创建的2个dockingbar是这样的:水平停靠优先占满边界
--------------------
                   |
      Bar 1        |
                   |
-------------------|
           |       |
           | Bar 2 |
           |       |
--------------------如何实现下图的停靠分布?
--------------------
           |       |
   Bar 1   |       |
           |       |
-----------| Bar 2 |
           |       |
           |       |
           |       |
--------------------搜索了以往的帖子未找到解决方案,望有能人们解答,多谢。

解决方案 »

  1.   

    似乎不是Z序,两个bar不是其一覆盖其二,而是其一压缩其二的效果。尝试过改变创建顺序但不起作用。
    附:我参考的工程源码地址:http://www.vckbase.com/document/viewdoc/?id=257
      

  2.   

    就是 Z 序的问题,必须要在 MainFrame 中进行重载 
      virtual void RecalcLayout(BOOL bNotify = TRUE); 
    和 
      void RepositionBars(UINT nIDFirst, UINT nIDLast, UINT nIDLeftOver,
    UINT nFlag = reposDefault, LPRECT lpRectParam = NULL,
    LPCRECT lpRectClient = NULL, BOOL bStretch = TRUE);
    两个函数,在 RepositionBars() 按照自己定义的顺序向 MainFrame 中的控件发送 WM_SIZEPARENT
    消息。
      
    如果需要帮助,加我 QQ : 37374754 , E_mail: [email protected]