AutoHideUnusedPopups Property
Description
The AutoHideUnusedPopups property specifies whether unused popups will be hidden (i.e., an infrequently used menu).
Property Type
Read-write property
Syntax (Visual Basic)
Public Property AutoHideUnusedPopups() As Boolean
Remarks
When AutoHideUnusedPopups is TRUE, the popup menus behave similarly to the Windows Start menu. If all controls in a popup control are hidden, then the entire popup control will be hidden as well.
When AutoHideUnusedPopups is FALSE, the popup control will always be displayed, even if all controls in the popup menu are hidden.
Note: AlwaysShowFullMenus must be FALSE for hidden commands to be hidden.
The picture below illustrates how the popup menu initially looks before the "Show More Buttons" button is clicked and what the popup menu looks like after the "Show More Buttons" button is clicked. The "New", "Open", "Add Project", and "Source Control" popups contain only hidden controls, so the entire popup menu was initially hidden. The example code below demonstrates how to create the menu in the picture.

Example
This code demonstrates how to recreate the popup menu in the picture above.
Adding Hidden Controls (Visual Basic)
This sample illustrates how to add hidden controls to the popup menus. This also demonstrates how to hide popup menus that only contain hidden commands.
Dim Control As CommandBarControl, ControlFile As CommandBarPopup
Dim ControlNew As CommandBarPopup, ControlOpen As CommandBarPopup
Dim ControlAddNew As CommandBarPopup, ControlSourceControl As CommandBarPopup
' Adds the "File" popup menu to the menu bar
Set ControlFile = CommandBars.ActiveMenuBar.Controls.Add(xtpControlPopup, 0, "&File")
With ControlFile.CommandBar.Controls
Set ControlNew = .Add(xtpControlPopup, 0, "New")
With ControlNew.CommandBar.Controls
.Add xtpControlButton, ID_FILE_NEW_PROJECT, "New Project..."
.Add xtpControlButton, ID_FILE_NEW_FILE, "New File..."
.Add xtpControlButton, ID_FILE_NEW_BLANK, "Blank Solution"
End With
Set ControlOpen = .Add(xtpControlPopup, 0, "Open")
With ControlOpen.CommandBar.Controls
.Add xtpControlButton, ID_FILE_OPEN_PROJECT, "Open Project"
Set Control = ControlOpen.CommandBar.Controls.Add(xtpControlButton, ID_FILE_OPEN_FILE, "Open File...")
End With
.Add xtpControlButton, ID_FILE_CLOSE, "&Close"
Set ControlAddNew = .Add(xtpControlPopup, 0, "A&dd Project")
ControlAddNew.BeginGroup = True
With ControlAddNew.CommandBar.Controls
.Add xtpControlButton, ID_FILE_NEW_PROJECT, "&New Project..."
.Add xtpControlButton, ID_FILE_EXISTING_PROJECT, "&Existing Project..."
.Add xtpControlButton, ID_FILE_EXISTING_WEB_PROJECT, "Existing Project &From Web..."
End With
Set Control = .Add(xtpControlButton, ID_FILE_OPEN_SOLUTION, "Op&en Solution...")
Control.BeginGroup = True
Set Control = .Add(xtpControlButton, ID_FILE_CLOSE_SOLUTION, "Close Solu&tion...")
Control.Enabled = False
Set Control = .Add(xtpControlButton, ID_FILE_SAVE, "&Save Selected Items")
Control.BeginGroup = True
Control.Enabled = False
.Add xtpControlButton, ID_FILE_SAVE_AS, "Save Selected Items &As..."
.Add xtpControlButton, ID_FILE_SAVE_ALL, "Save A&ll"
Set ControlSourceControl = .Add(xtpControlPopup, 0, "Sou&rce Control")
ControlSourceControl.BeginGroup = True
With ControlSourceControl.CommandBar.Controls
.Add xtpControlButton, ID_FILE_GET_LATEST_VERSION, "Get Latest Version"
.Add xtpControlButton, ID_FILE_GET, "Get..."
.Add xtpControlButton, ID_FILE_CHECK_OUT, "Check Out..."
.Add xtpControlButton, ID_FILE_CHECK_IN, "Check In..."
.Add xtpControlButton, ID_FILE_HISTORY, "&History..."
End With
Set Control = .Add(xtpControlButton, ID_FILE_PRINT_SETUP, "Print Set&up...")
Control.Enabled = False
Control.BeginGroup = True
Set Control = .Add(xtpControlButton, ID_FILE_PRINT, "Print...")
Set Control = .Add(xtpControlButton, ID_FILE_EXIT, "&Exit")
Control.BeginGroup = True
End With
' Specifies that these controls will be hidden
CommandBars.Options.AddHiddenCommand ID_FILE_NEW_PROJECT
CommandBars.Options.AddHiddenCommand ID_FILE_NEW_FILE
CommandBars.Options.AddHiddenCommand ID_FILE_NEW_BLANK
CommandBars.Options.AddHiddenCommand ID_FILE_OPEN_PROJECT
CommandBars.Options.AddHiddenCommand ID_FILE_OPEN_FILE
CommandBars.Options.AddHiddenCommand ID_FILE_NEW_PROJECT
CommandBars.Options.AddHiddenCommand ID_FILE_EXISTING_PROJECT
CommandBars.Options.AddHiddenCommand ID_FILE_EXISTING_WEB_PROJECT
CommandBars.Options.AddHiddenCommand ID_FILE_GET_LATEST_VERSION
CommandBars.Options.AddHiddenCommand ID_FILE_GET
CommandBars.Options.AddHiddenCommand ID_FILE_CHECK_OUT
CommandBars.Options.AddHiddenCommand ID_FILE_CHECK_IN
CommandBars.Options.AddHiddenCommand ID_FILE_HISTORY
CommandBars.Options.AddHiddenCommand ID_FILE_PRINT_SETUP
' Indicates that hidden commands will not initially be displayed in popup menus
CommandBars.Options.AlwaysShowFullMenus = False
' Indicates that popup menus that contain only hidden commands will be hidden as well
CommandBars.Options.AutoHideUnusedPopups = True
See Also
- CommandBarsOptions Object
- AlwaysShowFullMenus Property
- ShowFullAfterDelay Property
- AddHiddenCommand Method
Copyright (c) 1998-2024 Codejock Technologies. All rights reserved.