- •Раздел 1 Операционные системы
- •1.2 Справочная система Windows
- •Настройка экранной заставки
- •Раздел 2 Интегрированная система Turbo Pascal
- •Cинтаксис языка
- •Приоритет операторов
- •Раздел 3 Интегрированная система Delphi
- •1.1 Интегрированная среда разработки Delphi 5
- •Раздел 4. Базы данных
- •[Править] Оптимизация данных
- •Добавление записи
- •Изменение записи
- •Удаление содержимого поля или удаление всей записи
- •Основные функции субд
- •2.1.1. Непосредственное управление данными во внешней памяти
- •2.1.2. Управление буферами оперативной памяти
- •2.1.3. Управление транзакциями
- •4.7. Типы меню. Работа с меню: создание, модификация, активация и удаление.
- •Добавление кода vba в документ
- •1. Инкапсуляция
- •2. Полиморфизм
- •3. Наследовние
- •Свойства, методы и события объекта управления данными
- •Свойства
- •Вызов хранимых процедур
4.7. Типы меню. Работа с меню: создание, модификация, активация и удаление.
Запустите Word 2010.
Добавьте текст в документ. В теле документа введите =rand(5, 5). Этот параметр добавляет пять абзацев, каждый их которых содержит пять предложений со случайным текстом.
Сохраните документ как файл с использованием макросов TestDocument.docm и закройте файл.
Запустите редактор настраиваемого пользовательского интерфейса Office 2010 и в меню Файл выберите команду Открыть.
Перейдите к созданному документу и нажмите кнопку Открыть.
Щелкните правой кнопкой имя файла в левой области и выберите команду Вставить часть настраиваемого пользовательского интерфейса Office 2010, как показано на рисунке 1. При этом часть customUI14.xml будет добавлена в документ.
Рисунок 1. Использование редактора настраиваемого пользовательского интерфейса для вставки части Office 2010 в документ
В правой области вставьте следующую разметку XML:
XML
Копировать
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<contextMenus>
<contextMenu idMso="ContextMenuText">
<button idMso="FontDialog" visible="false" />
<toggleButton id="MyToggle" label="My Toggle Button" />
<button id="MyButton" label="My Button" insertBeforeMso="HyperlinkInsert" onAction="GetButtonID" />
<menuSeparator id="MySeparator" />
<menu id="MySubMenu" label="My Submenu" >
<button id="MyButton2" label="Button on submenu" />
</menu>
<gallery id="galleryOne" label="My Gallery">
<item id="item1" imageMso="HappyFace" />
<item id="item2" imageMso="HappyFace" />
<item id="item3" imageMso="HappyFace" />
<item id="item4" imageMso="HappyFace" />
</gallery>
<dynamicMenu id="MyDynamicMenu" label= "My Dynamic Menu" getContent="GetMyContent" />
</contextMenu>
</contextMenus>
</customUI>
Эта разметка XML добавляет элементы управления во встроенное контекстное меню Текст, как указано в атрибуте idMso="ContextMenuText" тега <contextMenu>. Первая кнопка задает атрибут видимости встроенной кнопки Шрифт как false, скрывая команду. После toggleButton вторая кнопка вставляется после кнопки Гиперссылка в контекстном меню на основе параметра insertBeforeMso="HyperlinkInsert". После строки menuSeparator добавляется элемент управления меню с одной кнопкой. Затем добавляется элемент управления коллекцией с четырьмя элементами. И, наконец, после отображения контекстного меню элемент управления dynamicMenu вызывает метод, заданный в атрибуте getContent. Как будет видно, этот метод возвращает дополнительные элементы управления в раскрывающееся меню во время выполнения.
Нажми кнопку Проверить в редакторе настраиваемого пользовательского интерфейса, чтобы убедиться, что в разметке нет ошибок. Исправьте любые ошибки при необходимости. Если ошибок нет, отобразится сообщение, подтверждающее правильность кода.
Сохраните этот файл и закройте редактор.
Вставьте следующий код VBA в область кода.
Копировать
Sub GetButtonID(control As IRibbonControl)
MsgBox ("You click the " & control.ID & " button.")
End Sub
Sub btnAction(control As IRibbonControl)
MsgBox ("You clicked me!")
End Sub
Эти методы вызываются при нажатии двух кнопок в контекстном меню. Обратите внимание, что в каждый метод передается объект IRibbonControl, представляющий элемент управления, который вызвал эту процедуру. Объект IRibbonControl содержит свойство Id, которое используется в методе GetButtonID для определения того, какая кнопка вызвала процедуру. Свойство Id полезно, так как оно позволяет нескольким элементам управления вызывать один и тот же метод и затем выполнять различные задачи в зависимости от идентификатора элемента управления.
Затем добавляется код VBA, который задает функциональность добавленных элементов управления.