Toll Free: (877) 723-1442 U.S. and Canada
Support
ActiveX / COM
Visual C++ / MFC
Customer Spotlight
Corporate Partners
Contact Sales

Call center available M-F 9:00 - 6:00 US Eastern Time.

U.S. and Canada
(877) 723-1442

International
(517) 625-5729

Email

Adding One or More ToolBars on the Same Row

Author: Mike Palmatier
Posted: October 20, 2005
Environment: Visual Basic 6.0

By default, when a toolbar is added, the toolbar appears on a separate row. Each toolbar added will then appear under the previous toolbar. However, many times it is useful to dock a toolbar next to another on the same row using code.

In the picture below, you can see that toolbar #2 has been docked next to toolbar #1. This was done using code.



The code below provides a helper function that will dock a toolbar to the right of another, regardless of the order that the toolbars are added. This code will allow you to dock a toolbar next to another whether it is vertical or horizontal.

 Private Sub DockRightOf(BarToDock As CommandBar, _

             BarOnLeft As CommandBar, VerticalBar As Boolean)

     Dim Left As Long

     Dim Top As Long

     Dim Right As Long

     Dim Bottom As Long

     Dim LeftBar As CommandBar

 

     Set LeftBar = BarOnLeft

 

     CommandBars.RecalcLayout

     BarOnLeft.GetWindowRect Left, Top, Right, Bottom

 

     LeftBar.GetWindowRect Left, Top, Right, Bottom

 

     If (VerticalBar = False) Then

         CommandBars.DockToolBar BarToDock, Right, _

                         (Bottom + Top) / 2, LeftBar.Position

     Else

         CommandBars.DockToolBar BarToDock, (Left + Right) _

                                 / 2, Bottom, LeftBar.Position

     End If

 End Sub

 

 'Parameters:

 '   BarToDock - ToolBar to be placed to

 '            - the RIGHT of another ToolBar

 '   BarOnLeft - ToolBar that will be on the LEFT side of BarToDock

 '   VerticalBar - Set to false if the toolbars are docked at the

 '                top or bottom of the window (horizontal), set to

 '                true if the toolbars are on the left or right of

 '                the window (vertical).

 

 'Sample usage:

 '   Dim ToolBar1 As CommandBar, ToolBar2 As CommandBar

 '   ..........Add controls to toolbars

 '   DockRightOf ToolBar2, ToolBar1, False

Microsoft, Visual Studio, and the Visual Studio logo are trademarks or registered trademarks of Microsoft Corporation in the United States and/or other countries. Other products and/or company names may be trademarks or registered trademarks of their respective owners.