Print Page | Close Window

Add CommandBarControl Before Item

Printed From: Codejock Forums
Category: Codejock Products
Forum Name: Command Bars
Forum Description: Topics Related to Codejock Command Bars
URL: http://forum.codejock.com/forum_posts.asp?TID=10875
Printed Date: 04 November 2025 at 5:56am
Software Version: Web Wiz Forums 12.04 - http://www.webwizforums.com


Topic: Add CommandBarControl Before Item
Posted By: jpbro
Subject: Add CommandBarControl Before Item
Date Posted: 02 June 2008 at 7:55pm
Hi,

I've been trying to add a CommandBarControl before an existing item in a dynamically generated menu...

I have a QuickAccess control set up as follows (this works fine):


      Set objQA = mobjRibbonBar.QuickAccessControls.Add(xtpControlSplitButtonPopup, CMD_Print, "Print")
      objQA.CommandBar.BarID = CMD_Print
      With objQA.CommandBar.Controls
         Set objCtrl = .Add(xtpControlLabel, CMD_PrinterDeviceLabel, "Available Printers")
         Set objCtrl = .Add(xtpControlButton, CMD_PrintSetup, "Print Setup")
         objCtrl.BeginGroup = True
      End With


Now I want to dynamically populate a list of available printers between the CMD_PrinterDeviceLabel and CMD_PrintSetup controls. I'm using the InitCommandsPopup event to capture when the CMD_Print QA control drop down button has been pressed as follows:


Private Sub CommandBars1_InitCommandsPopup(ByVal CommandBar As XtremeCommandBars.ICommandBar)
  
   Dim i As Long
   Dim objCtrl As CommandBarControl
  
   Select Case CommandBar.BarID
   Case CMD_Print
       ' Lots of code not shown to show/hide printers dynamically
   End Select


This also works okay, except when I add a printer to the list, it always appears below the CMD_PrintSetup control. I've tried:


CommandBar.Controls.Add xtpControlButton, CMD_PrinterDevice + i, Printers(i).DeviceName, CMD_PrintSetup


And


CommandBar.Controls.Add xtpControlButton, CMD_PrinterDevice + i, Printers(i).DeviceName, CommandBar.FindControl(, CMD_PrintSetup).Index


And


CommandBar.Controls.Add xtpControlButton, CMD_PrinterDevice + i, Printers(i).DeviceName, CommandBar.FindControl(, CMD_PrintSetup)



Without success (the printer device names always get added below the CMD_PrintSetup control). Is there a way to accomplish this?

Thanks in advance.


-------------
Product: Xtreme SuitePro (ActiveX) version 16.2.6
Platform: Windows XP - SP3

Language: Visual Basic 6.0 SP6




Replies:
Posted By: jpbro
Date Posted: 02 June 2008 at 7:59pm
Okay, the magic potion was:


CommandBar.Controls.Add xtpControlButton, CMD_PrinterDevice + i, dictPrinters.KeyByIndex(i), CommandBar.Controls.Count




-------------
Product: Xtreme SuitePro (ActiveX) version 16.2.6
Platform: Windows XP - SP3

Language: Visual Basic 6.0 SP6




Print Page | Close Window

Forum Software by Web Wiz Forums® version 12.04 - http://www.webwizforums.com
Copyright ©2001-2021 Web Wiz Ltd. - https://www.webwiz.net