• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 246
  • Last Modified:

ToolBar´s position

I have 4 toolbars in my application. On the CMainFrame::OnCreate method I wrote this code to each
one to create them:
if (!m_wndCompileBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | BRS_SIZE_DYNAMIC) ||!m_wndCompileBar.LoadToolBar(IDR_COMPILAR))
{
   TRACE0("Failed to create compilebar\n");
   return -1;      // fail to create
}

the problem is that they appear one behind the other and i want them one beside the other at the same level.
I modified the flags but i couldn´t show them how i want.
Please help me and excuse me for my poor english.  
 
0
martin11_ar
Asked:
martin11_ar
1 Solution
 
JeffTCommented:
Did you try calling MoveWindow or SetWindowPos after you create the toolbars?
0
 
Roshan DavisCommented:
Add this function

void CMainFrame::DockControlBarLeftOf(CToolBar* Bar,CToolBar* LeftOf)
{
      CRect rect;
      DWORD dw;
      UINT n;

      // get MFC to adjust the dimensions of all docked ToolBars
      // so that GetWindowRect will be accurate
      RecalcLayout();
      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;

      // When we take the default parameters on rect, DockControlBar will dock
      // each Toolbar on a seperate line.  By calculating a rectangle, we in effect
      // are simulating a Toolbar being dragged to that location and docked.
      DockControlBar(Bar,n,&rect);
}

Good Luck
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now