Добавление элементов управления в строку меню
Вероятно, что
после создания новой строки меню,
потребуется добавить в нее
элементы управления. Кроме того,
может потребоваться дополнить
элементами существующие меню,
включая стандартные меню основного
приложения.
Чтобы
добавить элемент управления в
строку меню, используется метод Add семейства CormiandBarControls, возвращающий ссылку
на объект CommandBarControl. Рассмотрим
синтаксис данного метода:
CommandBarControlObject
= CommandBarControlsObject.Add (Type, _
Id, Parameter, Before, Temporary)
В табл. 4
описываются параметры метода Add.
Обратите внимание на то, что каждый
из этих параметров является
необязательным, поэтому требуется
при задании аргумента в программе
указывать его имя.
Таблица
4. Параметры метода CommandBarControls.Add
Параметр |
Описание |
Type |
Задает тип
добавляемого элемента
управления (см. следующий
раздел) |
Id |
Задает
пользовательский элемент
управления, связанный с
основным приложением,
например, команду Отмена (Undo) или
инструмент рисования |
Parameter |
Задает параметр,
который используется, если
параметр Id указывает на
встроенный элемент управления |
Before |
Задает позицию
нового элемента управления в
строке меню. Если параметр
опущен, то элемент добавляется
в конец строки. |
Temporary |
Указывает,
требуется ли сохранить новый
элемент управления в строке
меню. Если значение параметра
равно False (по умолчанию), то
элемент удаляется из строки
при закрытии основного
приложения. |
Задание типа
добавляемого элемента. Необходимо обратить
особое внимание на значение
параметра Type, который задает
тип строки меню и элемент
управления, добавляемый в нее.
Значение параметра Type задает создание либо
объекта CommandBarButton, либо CommandBarPopup, либо CommandBarComboBox.
Как выбрать
правильный объект из трех
указанных? Если элемент управления
строки меню выполняет действие в
ответ на щелчок по нему,
используйте объект CommandBarButton. Если же элемент
управления строки меню отображает
другое меню, воспользуйтесь
объектом CommandBarPopup. И наконец, если
элемент управления выполняет
стандартное для основного
приложения действие, используйте
элемент управления CommandBarComboBox.
Задание
значения параметра Type. Параметр туре
играет важную роль при создании
объекта CommandBarControl. Его значение
определяет набор свойств, который
содержит добавляемый элемент.
Поскольку имеются ограничения,
накладываемые реализацией
некоторых элементов, требуется
серьезно подойти к выбору типа. В
табл. 5 перечислены элементы
управления строки меню, а также
соответствующие им значения
параметра Type.
Таблица
5. Значение типов элемента
управления
Элемент
управления |
Значение |
CommandBarButton |
msoControlButton |
CommandBarPopup |
msoControlPopup |
CommandBarComboBox |
msoControlEdit |
CommandBarComboBox |
msoControlDropdown |
CommandBarComboBox |
msoControlComboBox |
CommandBarComboBox |
msoControlButtonDropdown |
CommandBarComboBox |
msoControlSplitDropdown |
CommandBarComboBox |
msoControlOCXDropdown |
CommandBarComboBox |
msoControlGraphicCombo |
CommandBarComboBox |
msoControlGraphicDropdown |
CommandBarComboBox |
msoControlGraphicPopup |
CommandBarComboBox |
msoControlButtonPopup |
CommandBarComboBox |
msoControlSplitButtonPopup |
CommandBarComboBox |
msoControlSplitButtonMRUPopup |
CommandBarControl |
msoControlLabel |
CommandBarControl |
msoControlExpandingGrid |
CommandBarContro1 |
msoControlSplitExpandingGrid |
CommandBarControl |
msoControlGrid |
CommandBarControl |
msoControlGauge |
!
Примечание
В
табл. 5 указаны две константы,
которые недавно появились в VBA.
Одной из них является константа msoControlOCXDropdown,
которая определяет
раскрывающийся список,
содержащий элементы управления
ОСХ. Элементы управления ОСХ -
это пользовательские объекты,
поддерживающие механизм OLE,
которые используются в Visual Basic, C++
и многих других языках
программирования.
Другой
новой константой, включенной в
вышеприведенную таблицу,
является константа msoControlSplitButtonMRUPopup. Она
задает добавление списка MRU (Most
Recently Used - список ранее
открывавшихся файлов). Список
ранее открывавшихся файлов
обычно выводится в меню Файл.
Пример
использования метода Add. В программе 6
показано использование метода Add для создания
нескольких элементов управления в
строке меню.
Программа
6.
Добавление элементов управления в
меню
Public Sub
ControlDemo()
'Описание
объектных переменных для строки
меню и ее элементов
Dim
cbDemo As CommandBar
Dim cbEdit As CommandBarControl
Dim cbButton As CommandBarButton
Dim cbDropdown As CommandBarComboBox
Dim cbCombo As CommandBarControl
'Создание
строки меню
Set
cbDemo = CommandBars.Add (Name:="Chapter 23D", _
Temporary:=True, Position:=msoBarTop,
MenuBar:=False)
'Добавление
элементов управления
Set
cbEdit = cbDemo.Controls.Add(Type:=msoControlEdit)
Set cbButton =
cbDemo.Controls.Add(Type:=msoControlButton)
Set cbDropdown =
cbDemo.Controls.Add(Type:=msoControlDropdown)
Set cbCombo = cbDemo. Controls.Add (Type
:=msoControlComboBox)
cbDemo.Visible = True
End Sub
Для комментария :
kadan@grsu.grodno.by
|