让工具栏并列显示

假设在Windows程序窗口中有几个工具栏,现在我们希望让这些工具栏并列显示,该怎样实现呢?在这里,我们可以使用下面的函数来实现该功能,此函数是从CJ60Lib函数库弄下来的。笔者在下面的程序中实现的功能是:让LeftOf工具栏显示在Bar工具栏的左侧,同时还要并列显示在一起。下面就是在VC++中实现其功能的主要代码:
   void CCJMDIFrameWnd::DockControlBarLeftOf(CControlBar*Bar,,
   CControlBar*LeftOf)
   {

CRect rect;

DWORD dw;

UINT n;

//使用MFC来调整所有工具栏的尺寸
   //确保GetWindowRec准确
   RecalcLayout(TRUE);

LeftOf->GetWindowRect(&rect);

rect.OffsetRect(1,0);

dw=LeftOf->GetBarStyle();

n = 0;

n =(dw&CBRS_ALIGN_
   TOP)? AFX_IDW_DOCKBAR_TOP:n;

n =(dw&CBRS_ALIGN_
   BOTTOM&&n==0)? AFX_IDW_DOCKBAR_BOTTOM:n;

n = (dw&CBRS_ALIGN_
   LEFT &&n==0)? AFX_IDW_DOCKBAR_LEFT:n;

n =(dw&CBRS_ALIGN_RIGHT&& n==0)? AFX_IDW_DOCKBAR_RIGHT
   :n;

DockControlBar(Bar,n,&rect);

}