|
    |---------
    |
    |
是我想要的,但是dock后的窗口总是___________
    |
    |
    |
怎么调都调不回来。
DockControlBar(&m_GuiSolEx, AFX_IDW_DOCKBAR_LEFT);
DockControlBar(&m_OutNormal, AFX_IDW_DOCKBAR_TOP);
m_OutNormal是出问题的那一个,我想让它处于右上,
而不是上方。
怎么改?

解决方案 »

  1.   

    |
        |---------
        |
        |
    其中,左边、右上是能dock的controlBar,右下是SDI。
      

  2.   

    怎么排版一直不对?
        |
        |---------
        |
        |
    其中,左边、右上是能dock的controlBar,右下是SDI。
      

  3.   

    我试着用过dockcontrolbar的第三个CRect参数,但是总是不成功
      

  4.   

    void DockControlBar(
       CControlBar* pBar,
       UINT nDockBarID = 0,
       LPCRECT lpRect = NULL 
    );
    Parameters
    pBar 
    Points to the control bar to be docked. 
    nDockBarID 
    Determines which sides of the frame window to consider for docking. It can be 0, or one or more of the following: 
    AFX_IDW_DOCKBAR_TOP   Dock to the top side of the frame window. 
    AFX_IDW_DOCKBAR_BOTTOM   Dock to the bottom side of the frame window. 
    AFX_IDW_DOCKBAR_LEFT   Dock to the left side of the frame window. 
    AFX_IDW_DOCKBAR_RIGHT   Dock to the right side of the frame window. 
    If 0, the control bar can be docked to any side enabled for docking in the destination frame window. lpRect 
    Determines, in screen coordinates, where the control bar will be docked in the nonclient area of the destination frame window. 
    Res
      

  5.   

    哦,
        |two
    one |---------
        |client
        |
    one和two都是dock window,
    one是AFX_IDW_DOCKBAR_LEFT,
    two是AFX_IDW_DOCKBAR_RIGHT|AFX_IDW_DOCKBAR_TOP,
       two
    ------------
    one |client
        |
        |
    好像也符合上面的属性,
    就是感觉有个分配区域先后的问题,有人说于CWnd::RepositionBars和 CFrameWnd::RecalcLayout、WM_SIZEPARENT有关,
    但是我不太懂,