Поделиться через


Введение в представление Backstage в Office 2010 для разработчиков

Обзор: в системе Microsoft Office 2010 вводится представление Microsoft Office Backstage, нововведение пользовательского интерфейса Office Fluent, функции которого сходны с функцией ленты. Изучите компоненты, из которых состоит представление Backstage, и ознакомьтесь с ситуациями, которые помогут понять, как можно использовать это представление в различных приложениях Office (42 печатные страницы).

Дата последнего изменения: 24 апреля 2015 г.

Значок МайкрософтФрэнк Райс (Frank Rice), корпорация Майкрософт

Апрель 2010 г.

Применимо к: Excel 2010 | Office 2007 | Office 2010 | Open XML | PowerPoint 2010 | SharePoint Server 2010 | VBA | Word 2010

Содержание

  • Общие сведения о представлении Microsoft Office 14 Fluent Backstage

  • Глоссарий терминов представления Backstage

  • Компоненты представления Backstage

  • Расширяемость представления Backstage

  • Настройка представления Backstage с помощью файлов Open XML

  • Настройка представления Backstage с помощью общей надстройки COM

  • Часто задаваемые вопросы

  • Описания, атрибуты и сведения о потомках элементов представления Backstage

  • Заключение

  • Дополнительные ресурсы

Общие сведения о представлении Microsoft Office 14 Fluent Backstage

В Microsoft Office 2007 функции на уровне файлов были доступны в меню Office, к которому можно было перейти, нажав кнопку Office.

В Microsoft Office 2010 кнопка Office заменена на вкладку Файл. Если щелкнуть вкладку Файл, открывается представление Microsoft Office Backstage. Оно служит для работы с функциями, которые недоступны на ленте. Лента, мини-панель инструментов и коллекции помогают работать в документах, а представление Backstage помогает работать с документами.

Представление Backstage поддерживает расширения, поэтому организации могут настраивать интерфейс пользователя в соответствии со своими потребностями. Кроме того, интерфейс пользователя Backstage настраивается с помощью тех же файлов, обратных вызовов и многих элементов управления, которые используются на ленте. А значит разработчики, уже знакомые со средствами настройки интерфейса пользователя ленты, могут использовать свои знания для создания интерфейса пользователя Backstage, соответствующего потребностям организации.

Интерфейс пользователя Backstage существует во всех приложениях Microsoft Office 2010, которые поддерживают интерфейс пользователя Office Fluent: Microsoft Access 2010, Microsoft Excel 2010, Microsoft InfoPath 2010, Microsoft OneNote 2010, Microsoft PowerPoint 2010, Microsoft Project 2010, Microsoft Publisher 2010, Microsoft SharePoint Designer 2010, Microsoft Visio 2010 и Microsoft Word 2010. В следующих разделах описывается структура нового интерфейса пользователя, а также приводятся сведения, необходимые для реализации собственного интерфейса пользователя Backstage.

Глоссарий терминов представления Backstage

Далее представлены часто используемые в этой статье термины.

  • Представление Backstage — модель полноэкранного интерфейса пользователя, предоставляющего функциональность на уровне файлов для активного документа. Это часть интерфейса пользователя Microsoft Office Fluent, который заменяет предыдущую систему многоуровневых меню, панелей инструментов и областей задач.

  • Окончательная команда — команда, которая из представления Backstage возвращает пользователя в документ. Окончательные команды закрывают представление Backstage после их вызова. Вот некоторые примеры таких команд: Сохранить, Сохранить как и Печать.

  • Быстрая команда — команда, размещенная в левой панели навигации, которая предоставляет быстрый доступ к стандартным функциям. Вот некоторые примеры таких команд: Сохранить, Сохранить как и Закрыть.

  • Вкладка — страница в представлении Backstage, предназначенная для определенной задачи. Представление Backstage состоит из набора вкладок верхнего уровня. Первая (самая верхняя) вкладка является вкладкой по умолчанию. Если не задано конкретное расположение, настраиваемые вкладки добавляются в нижнюю часть панели навигации, ниже всех существующих вкладок и быстрых команд. В представлении Backstage разрешено использовать до 255 вкладок.

  • Группа — контейнер интерфейса пользователя для упорядочивания схожих функций внутри вкладок Backstage по группам.

Компоненты представления Backstage

В этом разделе рассматриваются компоненты представления Backstage. Одной из первой вещей, которую замечает пользователь после запуска приложения Office 2010, является вкладка Файл, заменившая кнопку Office (см. рис. 1). Если щелкнуть вкладку Файл, откроется представление Backstage. Его также можно открыть, нажав сочетание клавиш ALT+F.

Рисунок 1. Новая вкладка "Файл"

Кнопка Microsoft Office

В левой части представления Backstage размещается панель навигации с быстрыми командами (такими как Сохранить и Открыть) и вкладками (такими как Сведения и Последние), как показано на рисунке 2.

Рисунок 2. Представление Backstage

Вкладки навигации

Быстрые команды предоставляют доступ к часто используемым функциям, которые не связаны явно с вкладками.

Вкладка группирует функции, связанные с общей задачей, и распределяет их в одном или двух столбцах в наборе групп (таких как Режим совместимости и Разрешения).

Расширяемость представления Backstage

Представление Backstage не только обеспечивает более удобное средство просмотра свойств документа, создания документов и их сохранения для пользователя, но и позволяет ИТ-специалистам и сторонним разработчикам создавать собственные функции управления документами. Существует несколько типичных сценариев расширения представления Backstage.

  • Поставщик решения хочет добавить строку бизнес-данных в представление Backstage:

    • поставщик решения может создать новую вкладку для отображения большого объема данных, связанных с активным файлом;

    • поставщик решения может добавить группу в существующую вкладку (особенно вкладку Сведения), чтобы нужные данные были легко доступны.

  • Поставщик решения хочет добавить новые функции в представление Backstage:

    • поставщик решения может создать новую вкладку, предназначенную для этих специальных функций (например, управление нежелательной почтой);

    • поставщик решения может добавить специальную функцию в существующую вкладку, так как она подходит для размещения этой новой функции, или применять ее как быструю команду, так как эта новая функция будет использоваться часто и ее можно представить в виде одной кнопки.

Разработчики, знакомые с расширением интерфейса пользователя ленты, смогут без труда создавать расширения представления Backstage, так как при этом используются практически те же файлы и структуры. Компоненты добавляются в представление Backstage с помощью XML и функций, связанных с этими компонентами посредством обратных вызовов.

Примечание

Дополнительные сведения о расширяемости ленты см. в серии из трех статей Customizing the 2007 Office Fluent Ribbon for Developers.

Определение настраиваемого содержимого и структуры представления Backstage с помощью XML

Как и в интерфейсе пользователя ленты, структура и компоненты представления Backstage определяются с помощью разметки XML. В следующем примере показан общий формат файла разметки XML, с помощью которого настраивается представление Backstage в Word 2010. В следующих разделах эта разметка описывается более подробно. С помощью такой разметки можно получить представление Backstage, приведенное на рис. 3.

Рисунок 3. Настраиваемая вкладка Backstage, созданная в примере

Область вкладки "Настройка"

Примечание

Также в пример включен XML-код для изменения интерфейса пользователя ленты, чтобы показать, что он существует в том же XML-файле, что и разметка представления Backstage.

<?xml version="1.0" encoding="utf-8" ?>
<customUI xmlns="https://schemas.microsoft.com/office/2009/07/customui" onLoad="OnLoad">
  <backstage>    
   <tab id="testArea" insertAfterMso="TabInfo" label="Sample Scenarios" columnWidthPercent="30" >
      <firstColumn>
         <group id="grpOne" label="Group One" helperText="This is helper text for Group One">
            <primaryItem>
               <button id="firstButton" label="Primary Button" onAction="SampleCallback" />
            </primaryItem>
      <topItems>
            <layoutContainer id="layoutOne" layoutChildren="vertical">
               <editBox id="firstEBox" label="Sample Edit Box"  text="This is sample text" alignLabel="topRight" />
               <button id="sampleButton" label="Sample Definitive Button" isDefinitive="true" imageMso="FileDocumentInspect" />
            </layoutContainer>
      </topItems>
         </group>
         <group id="grpTwo" label="Group Two" visible="true" >
             <primaryItem>
                <menu id="menuOne" label="DropDown Menu">
                   <menuGroup id="menuGrpOne" >
                      <button id="btnOne"  label="Button one" />
                      <button id="btnTwo" label="Button two" />
                      <checkBox id="chkBoxOne" label="Sample Check Box" />
                   </menuGroup>
                </menu>
     </primaryItem>
             <topItems>
                <editBox id="secondEBox" text="Disabled Edit Box"  enabled="false"/>
                <imageControl id="imgControlOne" imageMso="BlogHomePage"/>
                <groupBox id="grpBox" label="Group Box with Check Boxes and Radio Group">
                   <checkBox id="chkBox1" label="A Check Box" />
                   <checkBox id="chkBox2" label="Disabled Check Box" enabled="false" />
                   <radioGroup id="rdoGrp" label="Nested Radio Group" >
                      <radioButton id="firstRadioBtn" label="1st Radio Button"/>
                      <radioButton id="secondRadioBtn" label="2nd Radio Button"/>
                      </radioGroup>
                </groupBox>
             </topItems>
          </group>
      </firstColumn>
      <secondColumn>
         <group id="grpThree" label="Group Three" visible="true">
            <topItems>
               <comboBox id="firstCBox" label="Sample Combo Box" >
                  <item id="itema" label="Cat"/>
                  <item id="itemb" label="Dog"/>
                  <item id="itemc" label="Fish"/>
               </comboBox>
               <layoutContainer id="layoutTwo" layoutChildren="vertical">
                  <editBox id="thirdEBox" label="Part of vertical layout" />
                  <editBox id="fourthEBox" label="Part of vertical layout" />
                  <editBox id="fifthEBox" label="Part of vertical layout" />
               </layoutContainer>
               <layoutContainer id="layoutThree" layoutChildren="horizontal">
                  <button id="anotherButton" label="Horizontal layout" imageMso="NewAppointment" />
                  <hyperlink id="hyperLink" label="You can place a link here"/>
                  <button id="lastButton" label="Horizontal layout" />
               </layoutContainer>
            </topItems>
          </group>
      </secondColumn>
   </tab>
</backstage>

Элемент <backstage> разделяет настраиваемые структуры интерфейса пользователя Backstage. Иерархически элемент <backstage> — один из четырех разрешенных элементов верхнего уровня внутри элемента <customUI>. На том же уровне разрешены также следующие элементы: <ribbon>, <contextMenus> и <commands>.

В элементе <backstage> можно размещать быстрые команды (представленные элементом <button>) и вкладки <tabs>. В этом примере представление Backstage содержит один элемент <tab>. Элемент <tab> содержит несколько атрибутов, в том числе следующие:

  • id — идентификатор вкладки;

  • insertAfterMso — идентификатор встроенной вкладки, после которой вставляется настраиваемая вкладка (в этом примере настраиваемая вкладка добавляется после вкладки Сведения);

  • label — текст, который отображается на вкладке (в этом примере отображается подпись вкладки Примеры сценариев);

  • columnWidthPercent — определяет ширину первого столбца области вкладок в процентном выражении. Ширина двух столбцов — 100%, поэтому если задать ширину первого столбца 30%, ширина второго столбца будет 70% от общей ширины.

Вкладка подписывается и размещается после встроенной вкладки Сведения.

Примечание

Все атрибуты разметки XML для настройки интерфейса пользователя Microsoft Office используют "верблюжий" принцип именования (Camel Case), при котором все слова кроме первого начинаются с заглавной буквы, например onAction и insertBeforeMso.

Каждый элемент <tab> может содержать один или два столбца; в этом случае настраиваемая вкладка Примеры сценариев содержит два столбца. Кроме того, каждый столбец может содержать несколько элементов <group>; в этом примере в первом столбце две группы (они называются Group One и Group Two), а во втором — одна группа (Group Three). Элемент <group> также может содержать несколько атрибутов, в том числе id, label, visible, enabled и helperText.

Примечание

Список элементов управления и связанных атрибутов, дочерних элементов, а также другие сведения см. далее в этой статье.

По существу настраиваемые группы Backstage аналогичны группам ленты, за исключением двух важных отличий. Во-первых, в отличие от группы ленты в группе Backstage не обязательно размещать содержимое в трех строках (максимум); в этом примере есть несколько различных элементов <layoutContainer>, предоставляющих структуру и широкие возможности для размещения без такого ограничения. Этот элемент содержит атрибут layoutChildren, который позволяет указать, размещаются ли дочерние объекты горизонтально или вертикально. Во-вторых, в отличие от группы ленты группа Backstage может содержать дополнительный элемент <primaryItem>, который может представлять кнопку (<button>) или меню (<menu>). Элемент <primaryItem> — это центральный элемент группы, который может быть кнопкой (например, кнопка внутри группы Group One) или меню (например, раскрывающееся меню в группе Group Two).

В качестве примера приведем элемент <button>, один из атрибутов которого — isDefinitive. Если для этого атрибута задано значение true, то при нажатии кнопки выполняется обратный вызов, а затем представление Backstage закрывается, возвращая пользователя к документу. Если просмотреть остальную часть XML-кода, можно увидеть несколько компонентов, заданных с различными атрибутами. Пример получившейся настраиваемой вкладки приведен на рис. 3.

Использование обратных вызовов для добавления функций

В примере при нажатии кнопки вызывается процедура обратного вызова, указанная в атрибуте onAction. В следующем примере приведена простая процедура обратного вызова, которую можно запустить с помощью кнопки.

Sub SampleCallback(ByVal control As IRibbonControl)
   MsgBox "You clicked the " & control.Id & " button. "
End Sub

В этом примере при вызове процедуры Microsoft Office передает объект IRibbonControl, представляющий элемент управления. Объект IRibbonControl содержит свойства Id и Tag. Как показано в коде, свойство Id позволяет вызывать одну и ту же процедуру из разных элементов управления. Все процедуры обратного вызова принимают объект IRibbonControl и также могут содержать другие свойства, такие как состояние выключателя.

В следующих разделах описывается настройка представления Backstage на уровне документа посредством изменения файла формата Open XML и на уровне приложения с помощью надстройки COM, созданной в управляемом коде в Microsoft Visual Studio. Для настройки представления Backstage на уровне документа можно использовать XML-код, приведенный в предыдущем разделе. В надстройке COM для изменения представления Backstage используется другой XML-код.

Настройка представления Backstage с помощью файлов Open XML

На уровне документа процесс настройки интерфейса пользователя Microsoft Office Fluent с помощью разметки XML состоит из следующих этапов. Их можно выполнить с помощью разметки XML, описанной в предыдущем разделе.

Примечание

Несмотря на очевидную пользу осведомленности о процессах, происходящих в структуре файла Office Open XML, эти этапы можно пропустить. Вместо этого можно воспользоваться редактором настраиваемого интерфейса пользователя Office 2007 (Возможно, на английском языке). Это средство позволяет открыть документ, вставить настраиваемый интерфейс пользователя (с частью для Office 2007 или Office 2010) и затем сохранить документ вместе с разметкой XML. Редактор выполняет действия, указанные в примере, за пользователя. Он также позволяет добавить настраиваемые значки в папку customUI и облегчает создание ссылок на эти значки.

Определение содержимого и структуры представления Backstage с помощью файлов Open XML

  1. Создайте на рабочем столе папку с именем customUI.

  2. Создайте файл настройки в любом текстовом редакторе, написав разметку XML, которая добавляет новые компоненты в интерфейс пользователя Microsoft Office Fluent, изменяет существующие компоненты или скрывает их. Используйте разметку XML из примера, представленного выше в этой статье. Сохраните файл как customUI14.xml в созданной папке.

  3. Проверьте разметку XML на соответствие схеме интерфейса пользователя Microsoft Office Fluent (необязательно).

  4. Создайте документ в Microsoft Word 2010 и сохраните его как файл Open XML с поддержкой макросов с расширением DOCM. Если нужно добавить код, реагирующий на взаимодействие пользователя с настраиваемым интерфейсом Microsoft Office Fluent, документ следует сохранить в формате с поддержкой макросов.

  5. Закройте Word.

  6. В проводнике Microsoft Windows добавьте расширение файла ZIP к имени файла документа, а затем дважды щелкните файл, чтобы открыть его как сжатую папку.

  7. Добавьте файл настройки в контейнер, перетащив папку customUI с рабочего стола в ZIP-папку.

  8. Перетащите папку _rels из ZIP-папки на рабочий стол. Папка _rels с RELS-файлом появится на рабочем столе.

  9. Откройте новую папку и откройте RELS-файл в текстовом редакторе.

  10. Между последним элементом <Relationship> и закрывающим элементом <Relationships> вставьте код, создающий связь между файлом документа и файлом настройки, как показано в следующем примере. Убедитесь, что имена папки и файла указаны правильно (атрибут Id предоставляет уникальный идентификатор связи для файла customUI — его значение произвольно до тех пор, пока оно уникально).

    <Relationship Type="https://schemas.microsoft.com/office/2010/relationships/ui/extensibility" Target="/customUI/customUI14.xml" 
      Id="customUIRelID" />
    
  11. Сохраните RELS-файл и перетащите его в папку _rels в сжатом файле, заменив исходный RELS-файл.

  12. Удалите расширение ZIP и откройте документ.

Добавление обратных вызовов в рабочую книгу для создания новых функций представления Backstage

  1. Перейдите на вкладку Разработчик, затем щелкните Visual Basic.

    Примечание

    Если вкладка Разработчик не отображается, необходимо включить этот пункт. Для этого нажмите кнопку Microsoft Office, перейдите в меню Параметры, выберите пункт Лента и в поле Упорядочить команды на вкладке выберите пункт Разработчик. Это глобальный параметр, который определяет пользователя как разработчика во всех приложениях Office, в которых реализуется интерфейс пользователя Microsoft Office Fluent.

  2. В редакторе Visual Basic дважды щелкните ThisDocument, чтобы открыть окно с кодом.

  3. Введите функцию VBA, как показано в следующем примере.

    Sub SampleCallback(ByVal control As IRibbonControl)
       MsgBox "You clicked the " & control.Id & " button. "
    End Sub
    
  4. Сохраните документ и закройте редактор Visual Basic.

  5. Нажмите кнопку Microsoft Office и перейдите на вкладку Примеры сценариев.

  6. Нажмите кнопку Основная кнопка. На рисунке 4 показано это диалоговое окно.

    Рисунок 4. Это диалоговое окно отображается после нажатия основной кнопки

    Диалоговое окно после нажатия кнопки "Основной"

Настройка представления Backstage с помощью общей надстройки COM

COM-надстройки также можно использовать для изменения интерфейса пользователя Microsoft Office Fluent. Существует два варианта создания надстройки COM для настройки интерфейса пользователя, в которой применяется управляемый код. Можно создать стандартную надстройку COM с помощью шаблона Общая надстройка, который включен в Microsoft Visual Studio 2008. Или, если установлена вторая редакция пакета инструментов Microsoft Visual Studio 2005 Tools для Office, можно создать надстройку COM, которая обладает несколькими преимуществами по сравнению со стандартной общей надстройкой.

Среди других преимуществ надстроек, созданных с помощью второго издания пакета инструментов Visual Studio 2005 Tools для Office, можно выделить возможность запуска в отдельных доменах приложения и упрощенную модель программирования этих надстроек по сравнению с шаблоном общей надстройки.Перенос общей надстройки в надстройку второй редакции пакета инструментов Visual Studio 2005 Tools для Office (Возможно, на английском языке).

Однако впоследствии управляемая надстройка Microsoft Word COM создается с использованием стандартной общей надстройки. Дополнительные сведения о создании настраиваемого интерфейса пользователя Microsoft Office Fluent с помощью общей надстройки COM и с использованием второй редакции пакета инструментов Microsoft Visual Studio 2005 Tools для Office см. в статье Настройка ленты 2007 Office Fluent для разработчиков (часть 1 из 3) (Возможно, на английском языке).

Надстройка COM создает настраиваемую вкладку представления Backstage, как показано на рис. 5.

Рисунок 5. Настраиваемая вкладка представления Backstage, на примере которой показано несколько способов работы с элементами управления

Представление Backstage с примерами элементов управления

Изменение интерфейса пользователя Microsoft Office Fluent посредством создания общей надстройки COM

  1. Запустите среду Microsoft Visual Studio 2008.

  2. В меню Файл выберите команду Создать, затем пункт Проект.

  3. В диалоговом окне Создание проекта в области Типы проектов разверните узел Другие типы проектов, щелкните Расширяемость и выберите Общая надстройка.

  4. В поле Имя введите BackStageCOMAddin и нажмите кнопку ОК.

  5. На первой странице мастера общей надстройки нажмите кнопку Далее.

  6. На странице Выбор языка программирования выберите Visual C# или Visual Basic, затем нажмите кнопку Далее.

  7. На странице Выберите ведущее приложение снимите все флажки кроме Microsoft Word и нажмите кнопку Далее.

  8. На странице Введите имя и описание введите BackStageCOMAddin в качестве имени и Обновление представления Backstage Word в качестве описания, затем нажмите кнопку Далее.

  9. На странице Выберите параметры надстройки установите флажок Загружать надстройку во время запуска ведущего приложения, нажмите кнопку Далее и затем нажмите кнопку Готово.

Visual Studio создает новое решение с двумя проектами: самой надстройкой и проектом программы установки. (Проект программы установки позволяет устанавливать надстройку на компьютеры других пользователей и облегчает установку и удаление надстройки во время разработки).

Для взаимодействия с Word 2010 и объектной моделью интерфейса пользователя Microsoft Office Fluent необходимы следующие ссылки на библиотеки типов.

Добавление ссылок на библиотеки типов

  1. В обозревателе решений откройте папку Ссылки. Если папка Ссылки не отображается, в меню Проект выберите пункт Показать все файлы.

  2. Удалите ссылку Microsoft.Office.Core.

  3. Правой кнопкой мыши щелкните папку Ссылки и выберите в контекстном меню команду Добавить ссылку.

  4. Перейдите на вкладку COM, выберите Библиотека объектов Microsoft Office 14.0 и нажмите кнопку ОК.

  5. В верхней части окна с кодом добавьте операторы, как показано в следующих примерах.

    Imports Office = Microsoft.Office.Core
    Imports Word = Microsoft.Office.Interop.Word
    
    using Office = Microsoft.Office.Core;
    using Word = Microsoft.Office.Interop.Word;
    

Создание файла настройки XML

  1. В меню Проект выберите пункт Добавить новый элемент.

  2. В диалоговом окне Добавить новый элемент выберите XML-файл. Назовите файл customUI14.xml и нажмите кнопку Добавить.

  3. В новом XML-файле добавьте разметку XML, как показано в следующем примере.

    <customUI xmlns="https://schemas.microsoft.com/office/2009/07/customui" onLoad="OnLoad">
      <backstage>
        <tab id="testArea" label="Sample Scenarios" columnWidthPercent="30" insertAfterMso="TabInfo" visible="true" >
          <firstColumn>
            <group id="grpOne" label="Group One">
              <primaryItem>
                <button id="btnSimToggleButton" label="Simulate Toggle Button" getImage="toggleImage" onAction="simToggleButton"/>
              </primaryItem>
              <topItems>
                 <layoutContainer id="layoutOne" layoutChildren="vertical">
                    <editBox id="eboxTextTarget" label="Text From Button"  getText="getToggledText" alignLabel="topRight" />
                    <button id="btnInsertText2Doc" label="Insert Text Into Document" isDefinitive="true" onAction="insertText2Doc"/>
                    <editBox id="eboxTextSource" label="Gets Inserted into Document" text="Hello World" onChange="getInsertText"/>
                 </layoutContainer>
              </topItems>
            </group>
            <group id="grpTwo" label="Group Two" getVisible="getInitGroupVisibility" >
              <primaryItem>
                <menu id="menuOne" label="Drop Down Menu">
                  <menuGroup id="menuGrpOne" >
                    <button id="btnShowEditBox"  getLabel="getHideShowEBoxLabel" onAction="showHideEditBox"/>
                    <button id="menuButtonTwo" label="Swap Images" onAction="SwapImages"/>
                    <checkBox id="chkEnableDisableEBox" getLabel="switchChkBoxLabel" onAction="chkEnable"/>
                  </menuGroup>
                </menu>
              </primaryItem>
              <topItems>
                 <editBox id="eboxEnabledDisabled" text="Hello World"  getEnabled="getEBoxEnabledState"/>
                 <editBox id="eboxShownHidden" text="See me now?" getVisible="getEBoxVisibility"/>
                 <imageControl id="imgControlOne" getImage="getControlImage"/>
                 <groupBox id="grpBox" label="Group Box">
                    <checkBox id="chkBox1" getLabel="getChkBox1Label" onAction="grpChkBox1Action"/>
                    <checkBox id="chkBox2" getLabel="getChkBox2Label" onAction="grpChkBox2Action"/>
                    <radioGroup id="rdoGrp" label="Nested Radio Group"  getEnabled="getrdoEnableByChkBox" onAction="radioGrpAction">
                      <radioButton id="firstRadioBtn" label="1st Radio Button"/>
                      <radioButton id="secondRadioBtn" label="2nd Radio Button"/>
                    </radioGroup>
                 </groupBox>
                 <editBox id="eboxVisiblebyChkBox" text="See me" getVisible="getEBoxVisibleByChkBox"/>
              </topItems>
            </group>
          </firstColumn>
          <secondColumn>
            <group id="grpThree" label="Group Three" visible="true">
              <topItems>
                 <layoutContainer id="layoutTwo" layoutChildren="vertical">
                    <comboBox id="cboPopulateBox" label="Populate Edit Box" onChange="populateEBox">
                      <item id="item1" label="one"/>
                      <item id="item2" label="two"/>
                      <item id="item3" label="three"/>
                    </comboBox>
                    <editBox id="eboxPopulate" getLabel="getEBoxLabel" getText="getCBOXText"/>
                 </layoutContainer>
                 <layoutContainer id="layoutThree" layoutChildren="vertical">
                    <button id="btnHideGroup" getLabel="getHideGroupBtnLabel" onAction="hideGroup"/>
                 </layoutContainer>
              </topItems>
            </group>
          </secondColumn>
        </tab>
      </backstage>
    </customUI>
    
  4. Сохраните и закройте файл.

Проще всего использовать XML-файл, если он обрабатывается как ресурс в файле ресурсов проекта.

Добавление XML-файла в качестве ресурса проекта

  1. В обозревателе решений выберите файл customUI14.xml.

  2. В окне "Свойства" выберите свойство Действие при построении, а затем в списке параметров выберите Внедренный ресурс.

  3. В меню Проект выберите пункт Свойства BackStageCOMAddin.

  4. Перейдите на вкладку Ресурсы.

  5. В обозревателе решений перенесите customUI14.xml в рабочую область конструирования Ресурсы.

    При этом создается новый ресурс на основе файла, который содержит XML-содержимое. Теперь файл customUI.xml автоматически сохраняется как ресурс приложения и его содержимое можно извлечь с помощью возможностей языка Visual Basic или Visual C#.

  6. Закройте окно Ресурсы. В ответ на запрос нажмите кнопку Да, чтобы сохранить изменения.

Доступ к ведущему приложению и работа с представлением Backstage

  1. В обозревателе решений щелкните правой кнопкой Connect.cs или Connect.vb, затем выберите пункт Просмотр кода.

  2. Найдите существующее объявление переменной applicationObject и измените его так, чтобы оно ссылалось на объект Word.Application. Т.е. нужно изменить объявление так, чтобы оно выглядело, как показано в следующих примерах.

    Private applicationObject As Word.Application
    
    private Word.Application applicationObject;
    
  3. Измените строку в методе OnConnection, который создает экземпляр объекта Word.Application.

    applicationObject = DirectCast(application, Word.Application)
    
    applicationObject =(Word.Application)application;
    
  4. (Только Visual Basic) Измените строку кода в верхней части класса, которая начинается с Implements, добавив поддержку реализации пространства имен IRibbonExtensibility, как в следующем примере, и нажмите клавишу ВВОД. Visual Basic автоматически вставит процедуру GetCustomUI.

    Implements Extensibility.IDTExtensibility2, IRibbonExtensibility
    
  5. (Только C#) В конце оператора public class Connect : добавьте запятую и введите имя интерфейса, как показано в следующем примере.

    IRibbonExtensibility
    
  6. (Только C#) Щелкните правой кнопкой добавленный интерфейс, выберите Реализовать интерфейс и щелкните Явно реализовать интерфейс. При этом добавляется заглушка процедуры только для члена интерфейса IRibbonExtensibility: GetCustomUI.

  7. Измените метод GetCustomUI, чтобы он выглядел, как в следующем примере.

    Public Function GetCustomUI(ByVal RibbonID As String) As String Implements Microsoft.Office.Core.IRibbonExtensibility.GetCustomUI
       Return OutSpaceCOMAddin.My.Resources.customUI14
    End Function
    
    string IRibbonExtensibility.GetCustomUI(string RibbonID)
    {
      return SpecStatusResource.customUI14;
    }
    

    Важно!

    GetCustomUI реализуется для возврата строки XML для настройки интерфейса пользователя и не используется для инициализации. Также не следует пытаться отобразить любые диалоговые окна или окна сообщений в реализации метода GetCustomUI. Для инициализации больше подходит метод OnConnection (для общих надстроек) или метод ThisAddIn_Startup (для надстроек, созданных с помощью второго издания пакета инструментов Microsoft Visual Studio 2005 Tools для Office).

  8. Добавьте следующий метод в класс. Он вызывается при загрузке интерфейса пользователя ленты и создает переменную со ссылкой на интерфейс пользователя ленты, а затем изменяет внешний вид ленты.

    Private myRibbon As Office.IRibbonUI
    Sub OnLoad(ByVal ribbon As Office.IRibbonUI)
       myRibbon = ribbon
       myRibbon.Invalidate()
    End Sub
    
    IRibbonUI myRibbon;
    public void OnLoad(IRibbonUI ribbon)
    {
       myRibbon = ribbon;
       myRibbon.Invalidate();
    }
    

Часто задаваемые вопросы

Далее представлены ответы на часто задаваемые вопросы, связанные с представлением Backstage.

  • Какое максимальное число настраиваемых вкладок можно добавить в представление Backstage?
    Максимальное число вкладок — 255.

  • Можно ли указать конкретное расположение добавляемой вкладки?
    Можно указать, что настраиваемая вкладка отображается перед существующей вкладкой или после нее.

  • Можно ли изменить порядок существующих вкладок?
    Порядок существующих вкладок изменить нельзя. Можно только указать относительный порядок вкладок, вставив одну вкладку перед или после другой.

  • Можно ли изменить расположение столбцов существующих вкладок?
    Расположение столбцов существующей вкладки, которая не была создана пользователем, изменить нельзя.

  • Куда можно добавить группы?
    Новую группу можно добавить в любой столбец существующей вкладки. Также можно указать, отображается ли новая группа перед существующей группой или после нее. При этом нельзя добавлять дополнительные группы на вкладки, которые содержат taskFormGroup, например на вкладку "Доступ".

  • Можно ли изменить порядок существующих групп?
    Порядок существующих групп изменить нельзя. Можно только указать относительный порядок создаваемых групп.

  • Как узнать порядок реализации надстроек при добавлении нескольких надстроек COM, изменяющих представление Backstage приложения Microsoft Office?
    Первой выполняется последняя загруженная надстройка.

Описания, атрибуты и сведения о потомках элементов представления Backstage

Далее представлены сведения об элементах управления, включенных в представление Backstage.

Backstage

Представляет элемент <backstage>.

Атрибут

Тип

Сигнатура обратного вызова

onShow

Обратный вызов

VBA: Sub OnShow(contextObject As Object)

C#: void OnShow(object contextObject)

Visual Basic: Sub OnShow(contextObject As Object)

C++: HRESULT OnShow([in] Object *pContextObject)

onHide

Обратный вызов

VBA: Sub OnHide(contextObject As Object)

C#: void OnHide(object contextObject)

Visual Basic: Sub OnHide(contextObject As Object)

C++: HRESULT OnHide([in] Object *pContextObject)

Потомки: tab, button

Button

Представляет элемент управления "кнопка".

Атрибут

Тип

Сигнатура обратного вызова

id

Идентификатор

Не применимо

idQ

Полное имя (строка)

Не применимо

idMso

Встроенное имя (строка)

Не применимо

*expand

Строка

Не применимо

*layout

Строка

Не применимо

tag

Строка

Не применимо

*insertAfterMso

Встроенное имя (строка)

Не применимо

*insertBeforeMso

Встроенное имя (строка)

Не применимо

*insertAfterQ

Полное имя (строка)

Не применимо

*insertBeforeQ

Полное имя (строка)

Не применимо

*description

Строка

Не применимо

*getDescription

Обратный вызов

VBA: Sub GetDescription(control As IRibbonControl, ByRef returnedVal)

C#: string GetDescription(IRibbonControl control)

Visual Basic: Function GetDescription(control As IRibbonControl) As String

C++: HRESULT GetDescription([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

enabled

Логический

Не применимо

getEnabled

Обратный вызов

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) as Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

label

Строка

Не применимо

getLabel

Обратный вызов

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Логический

Не применимо

getVisible

Обратный вызов

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

keytip

Маркер

Не применимо

getKeytip

Обратный вызов

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*screentip

Строка

Не применимо

*getScreentip

Обратный вызов

VBA: Sub GetScreentip(control As IRibbonControl, ByRef returnedVal)

C#: string GetScreentip(IRibbonControl control)

Visual Basic: Function GetScreentip(control As IRibbonControl) As String

C++: HRESULT GetScreentip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*supertip

Строка

Не применимо

*getSupertip

Обратный вызов

VBA: Sub GetSupertip(control As IRibbonControl, ByRef returnedVal)

C#: string GetSupertip(IRibbonControl control)

Visual Basic: Function GetSupertip(control As IRibbonControl) As String

C++: HRESULT GetSupertip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

onAction

Обратный вызов

VBA: Sub OnAction(control As IRibbonControl)

C#: void OnAction(IRibbonControl control)

Visual Basic: Sub OnAction(control As IRibbonControl)

C++: HRESULT OnAction([in] IRibbonControl *pControl)

isDefinitive

Логический

Не применимо

image

Строка

Не применимо

imageMso

Встроенное имя (строка)

Не применимо

getImage

Обратный вызов

VBA: Sub GetImage(control As IRibbonControl, ByRef returnedBitmap)

C#: Bitmap GetImage(IRibbonControl control)

Visual Basic: Function GetImage(control As IRibbonControl) As Bitmap

C++: HRESULT GetImage([in] IRibbonControl *pControl, [out, retval] IPictureDisp ** ppdispImage)

* Используется не во всех реализациях

Потомки: нет

Category

Представляет контейнер "категория".

Атрибут

Тип

Сигнатура обратного вызова

id

Идентификатор

Не применимо

idQ

Полное имя (строка)

Не применимо

idMso

Встроенное имя (строка)

Не применимо

tag

Строка

Не применимо

label

Строка

Не применимо

getLabel

Обратный вызов

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Логический

Не применимо

getVisible

Обратный вызов

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

Потомки: task

Check Box

Представляет элемент управления "флажок".

Атрибут

Тип

Сигнатура обратного вызова

id

Идентификатор

Не применимо

idQ

Полное имя (строка)

Не применимо

idMso

Встроенное имя (строка)

Не применимо

tag

Строка

Не применимо

*expand

Строка

Не применимо

*layout

Строка

Не применимо

enabled

Логический

Не применимо

getEnabled

Обратный вызов

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) as Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

label

Строка

Не применимо

getLabel

Обратный вызов

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Логический

Не применимо

getVisible

Обратный вызов

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

keytip

Маркер

Не применимо

getKeytip

Обратный вызов

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

onAction

Обратный вызов

VBA: Sub OnAction(control As IRibbonControl, isPressed As Boolean)

C#: void OnAction(IRibbonControl control, bool isPressed)

Visual Basic: Sub OnAction(control As IRibbonControl, isPressed As Boolean)

C++: HRESULT OnAction([in] IRibbonControl *pControl, [in] BSTR VARIANT_BOOL *pvarPressed)

getPressed

Обратный вызов

VBA: Sub GetPressed(control As IRibbonControl, ByRef returnedVal)

C#: bool GetPressed(IRibbonControl control)

Visual Basic: Function GetPressed(control As IRibbonControl) As Boolean

C++: HRESULT GetPressed([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

description

Строка

Не применимо

getDescription

Обратный вызов

VBA: Sub GetDescription(control As IRibbonControl, ByRef returnedVal)

C#: string GetDescription(IRibbonControl control)

Visual Basic: Function GetDescription(control As IRibbonControl) As String

C++: HRESULT GetDescription([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*screentip

Строка

Не применимо

*getScreentip

Обратный вызов

VBA: Sub GetScreentip(control As IRibbonControl, ByRef returnedVal)

C#: string GetScreentip(IRibbonControl control)

Visual Basic: Function GetScreentip(control As IRibbonControl) As String

C++: HRESULT GetScreentip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*supertip

Строка

Не применимо

*getSupertip

Обратный вызов

VBA: Sub GetSupertip(control As IRibbonControl, ByRef returnedVal)

C#: string GetSupertip(IRibbonControl control)

Visual Basic: Function GetSupertip(control As IRibbonControl) As String

C++: HRESULT GetSupertip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

* Используется не во всех реализациях

Потомки: нет

Combo Box

Представляет элемент управления "поле со списком".

Атрибут

Тип

Сигнатура обратного вызова

id

Идентификатор

Не применимо

idQ

Полное имя (строка)

Не применимо

idMso

Встроенное имя (строка)

Не применимо

tag

Строка

Не применимо

alignLabel

Строка

Не применимо

expand

Строка

Не применимо

layout

Строка

Не применимо

enabled

Логический

Не применимо

getEnabled

Обратный вызов

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) as Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getItemCount

Обратный вызов

VBA: Sub GetItemCount(control As IRibbonControl, ByRef returnedVal)

C#: int GetItemCount(IRibbonControl control)

Visual Basic: Function GetItemCount(control As IRibbonControl) as Integer

C++: HRESULT GetItemCount([in] IRibbonControl *pControl, [out, retval] LONG *returnedVal)

getItemID

Обратный вызов

VBA: Sub GetItemID(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetItemID(IRibbonControl control, int itemIndex)

Visual Basic: Function GetItemID(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetItemID([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getItemLabel

Обратный вызов

VBA: Sub GetItemLabel(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetItemLabel(IRibbonControl control, int itemIndex)

Visual Basic: Function GetItemLabel(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetItemLabel([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

label

Строка

Не применимо

getLabel

Обратный вызов

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Логический

Не применимо

getVisible

Обратный вызов

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

onChange

Обратный вызов

VBA: Sub OnChange(control As IRibbonControl, text As String)

C#: void OnChange(IRibbonControl control, string text)

Visual Basic: Sub OnChange(control As IRibbonControl, text As String)

C++: HRESULT OnChange([in] IRibbonControl *pControl, [in] BSTR *pbstrText)

keytip

Маркер

Не применимо

getKeytip

Обратный вызов

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

sizeString

Строка

Не применимо

getText

Обратный вызов

VBA: Sub GetText(control As IRibbonControl, ByRef returnedVal)

C#: string GetText(IRibbonControl control)

Visual Basic: Function GetText(control As IRibbonControl) As String

C++: HRESULT GetText([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

Потомки: item

customUI

Корневой тег всех настроек интерфейса пользователя Fluent.

Атрибут

Тип

Сигнатура обратного вызова

onLoad

Обратный вызов

VBA: Sub OnLoad(ribbon As IRibbonUI)

C#: void OnLoad(IRibbonUI ribbon)

Visual Basic: Sub OnLoad(ribbon As IRibbonUI)

C++: HRESULT OnLoad([in] IRibbonUI *pRibbon)

loadImage

Обратный вызов

VBA: Sub LoadImage(imageId As String, ByRef image)

C#: IPictureDisp LoadImage(string image_id)

Visual Basic: Function LoadImage(imageId As String) As IPictureDisp

C++: HRESULT LoadImage([in] BSTR *pbstrImageId, [out, retval] IPictureDisp ** ppdispImage) *pRibbon)

Потомки: commands, ribbon, backstage

Drop Down

Представляет элемент управления "раскрывающийся список".

Атрибут

Тип

Сигнатура обратного вызова

id

Идентификатор

Не применимо

idQ

Полное имя (строка)

Не применимо

idMso

Встроенное имя (строка)

Не применимо

tag

Строка

Не применимо

expand

Строка

Не применимо

layout

Строка

Не применимо

enabled

Логический

Не применимо

getEnabled

Обратный вызов

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) as Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getItemCount

Обратный вызов

VBA: Sub GetItemCount(control As IRibbonControl, ByRef returnedVal)

C#: int GetItemCount(IRibbonControl control)

Visual Basic: Function GetItemCount(control As IRibbonControl) as Integer

C++: HRESULT GetItemCount([in] IRibbonControl *pControl, [out, retval] LONG *returnedVal)

getItemID

Обратный вызов

VBA: Sub GetItemID(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetItemID(IRibbonControl control, int itemIndex)

Visual Basic: Function GetItemID(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetItemID([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getItemLabel

Обратный вызов

VBA: Sub GetItemLabel(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetItemLabel(IRibbonControl control, int itemIndex)

Visual Basic: Function GetItemLabel(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetItemLabel([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getSelectedItemIndex

Обратный вызов

VBA: Sub GetSelectedItemIndex(control As IRibbonControl, ByRef returnedVal)

C#: int GetSelectedItemIndex(IRibbonControl control)

Visual Basic: Function GetSelectedItemIndex(control As IRibbonControl) as Integer

C++: HRESULT GetSelectedItemIndex([in] IRibbonControl *pControl, [out, retval] LONG *returnedVal)

label

Строка

Не применимо

getLabel

Обратный вызов

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Логический

Не применимо

getVisible

Обратный вызов

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

onAction

Обратный вызов

VBA: Sub OnAction(control As IRibbonControl, itemID As String, itemIndex As Integer)

C#: void OnAction(IRibbonControl control, string itemID, int itemIndex)

Visual Basic: Sub OnAction(control As IRibbonControl, itemID As String, itemIndex As Integer)

C++: HRESULT OnAction([in] IRibbonControl *pControl, [in] BSTR *selectedID, [in] LONG cSelectedIndex)

keytip

Маркер

Не применимо

getKeytip

Обратный вызов

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

sizeString

Строка

Не применимо

screentip

Строка

Не применимо

getScreentip

Обратный вызов

VBA: Sub GetScreentip(control As IRibbonControl, ByRef returnedVal)

C#: string GetScreentip(IRibbonControl control)

Visual Basic: Function GetScreentip(control As IRibbonControl) As String

C++: HRESULT GetScreentip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

supertip

Строка

Не применимо

getSupertip

Обратный вызов

VBA: Sub GetSupertip(control As IRibbonControl, ByRef returnedVal)

C#: string GetSupertip(IRibbonControl control)

Visual Basic: Function GetSupertip(control As IRibbonControl) As String

C++: HRESULT GetSupertip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

Потомки: item

Edit Box

Представляет элемент управления "поле ввода".

Атрибут

Тип

Сигнатура обратного вызова

id

Идентификатор

Не применимо

idQ

Полное имя (строка)

Не применимо

idMso

Встроенное имя (строка)

Не применимо

tag

Строка

Не применимо

alignLabel

Строка

Не применимо

enabled

Логический

Не применимо

getEnabled

Обратный вызов

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) As Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

expand

Строка

Не применимо

layout

Строка

Не применимо

label

Строка

Не применимо

getLabel

Обратный вызов

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

keytip

Маркер

Не применимо

getKeytip

Обратный вызов

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

maxLength

Положительное целое число

Не применимо

onChange

Обратный вызов

VBA: Sub OnChange(control As IRibbonControl, text As String)

C#: void OnChange(IRibbonControl control, string text)

Visual Basic: Sub OnChange(control As IRibbonControl, text As String)

C++: HRESULT OnChange([in] IRibbonControl *pControl, [in] BSTR *pbstrText)

sizeString

Строка

Не применимо

getText

Обратный вызов

VBA: Sub GetText(control As IRibbonControl, ByRef returnedVal)

C#: string GetText(IRibbonControl control)

Visual Basic: Function GetText(control As IRibbonControl) As String

C++: HRESULT GetText([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Логический

Не применимо

getVisible

Обратный вызов

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

Потомки: нет

Group

Представляет контейнер "группа".

Атрибут

Тип

Сигнатура обратного вызова

id

Идентификатор

Не применимо

idQ

Полное имя (строка)

Не применимо

idMso

Встроенное имя (строка)

Не применимо

tag

Строка

Не применимо

insertAfterMso

Встроенное имя (строка)

Не применимо

insertBeforeMso

Встроенное имя (строка)

Не применимо

insertAfterQ

Полное имя (строка)

Не применимо

insertBeforeQ

Полное имя (строка)

Не применимо

label

Строка

Не применимо

getLabel

Обратный вызов

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Логический

Не применимо

getVisible

Обратный вызов

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getStyle

Обратный вызов

VBA: Sub GetStyle(control As IRibbonControl, ByRef returnedVal)

C#: BackstageGroupStyle GetStyle(IRibbonControl control)

Visual Basic: Function GetStyle(control As IRibbonControl) As BackstageGroupStyle

C++: HRESULT GetStyle([in] IRibbonControl *pControl, [out, retval] BackstageGroupStyle *pbstrReturnedVal)

helperText

Строка

Не применимо

getHelperText

VBA: Sub GetHelperText(control As IRibbonControl, ByRef returnedVal)

C#: string GetHelperText(IRibbonControl control)

Visual Basic: Function GetHelperText(control As IRibbonControl) As String

C++: HRESULT GetHelperText([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

showLabel

Логический

Не применимо

getShowLabel

Обратный вызов

VBA: Sub GetShowLabel(control As IRibbonControl, ByRef returnedVal)

C#: bool GetShowLabel(IRibbonControl control)

Visual Basic: Function GetShowLabel(control As IRibbonControl) As Boolean

C++: HRESULT GetShowLabel([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

Потомки: primaryItem, topItems, bottomItems

Group Box

Представляет контейнер "поле группы".

Атрибуты:

Атрибут

Тип

Сигнатура обратного вызова

id

Идентификатор

Не применимо

idQ

Полное имя (строка)

Не применимо

idMso

Встроенное имя (строка)

Не применимо

tag

Строка

Не применимо

expand

Строка

Не применимо

layout

Строка

Не применимо

label

Строка

Не применимо

getLabel

Обратный вызов

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

Потомки: button, checkbox, editBox, dropdown, radioGroup, comboBox, hyperlink, labelControl, groupBox, layoutContainer, imageControl

Hyperlink

Представляет элемент управления "гиперссылка".

Атрибуты:

Атрибут

Тип

Сигнатура обратного вызова

id

Идентификатор

Не применимо

idQ

Полное имя (строка)

Не применимо

idMso

Встроенное имя (строка)

Не применимо

tag

Строка

Не применимо

alignLabel

Строка

Не применимо

expand

Строка

Не применимо

enabled

Логический

Не применимо

getEnabled

Обратный вызов

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) As Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

keytip

Маркер

Не применимо

getKeytip

Обратный вызов

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

layout

Строка

Не применимо

label

Строка

Не применимо

getLabel

Обратный вызов

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

target

Строка

Не применимо

getTarget

Обратный вызов

VBA: Sub GetTarget(control As IRibbonControl, ByRef returnedVal)

C#: string GetTarget(IRibbonControl control)

Visual Basic: Function GetTarget(control As IRibbonControl) As String

C++: HRESULT GetTarget([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Логический

Не применимо

getVisible

Обратный вызов

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

Потомки: нет

Image Control

Представляет элемент управления "изображение".

Атрибут

Тип

Сигнатура обратного вызова

id

Идентификатор

Не применимо

idQ

Полное имя (строка)

Не применимо

idMso

Встроенное имя (строка)

Не применимо

tag

Строка

Не применимо

enabled

Логический

Не применимо

getEnabled

Обратный вызов

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) As Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

image

Строка

Не применимо

imageMso

Встроенное имя (строка)

Не применимо

getImage

Обратный вызов

VBA: Sub GetImage(control As IRibbonControl, ByRef returnedBitmap)

C#: Bitmap GetImage(IRibbonControl control)

Visual Basic: Function GetImage(control As IRibbonControl) As Bitmap

C++: HRESULT GetImage([in] IRibbonControl *pControl, [out, retval] IPictureDisp ** ppdispImage)

visible

Логический

Не применимо

getVisible

Обратный вызов

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

Потомки: нет

Item

Представляет элемент в элементе управления "раскрывающийся список" или "поле со списком".

Атрибут

Тип

Сигнатура обратного вызова

id

Идентификатор

Не применимо

label

Строка

Не применимо

getLabel

Обратный вызов

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

Потомки: нет

Label Control

Представляет элемент управления "подпись".

Атрибут

Тип

Сигнатура обратного вызова

id

Идентификатор

Не применимо

idQ

Полное имя (строка)

Не применимо

idMso

Встроенное имя (строка)

Не применимо

tag

Строка

Не применимо

alignLabel

Строка

Не применимо

expand

Строка

Не применимо

enabled

Логический

Не применимо

getEnabled

Обратный вызов

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) As Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

layout

Строка

Не применимо

label

Строка

Не применимо

getLabel

Обратный вызов

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Логический

Не применимо

getVisible

Обратный вызов

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

Потомки: нет

Layout Container

Представляет контейнер "структура".

Атрибут

Тип

Сигнатура обратного вызова

id

Идентификатор

Не применимо

idQ

Полное имя (строка)

Не применимо

idMso

Встроенное имя (строка)

Не применимо

tag

Строка

Не применимо

align

Строка

Не применимо

expand

Строка

Не применимо

layoutChildren

Строка

Не применимо

Потомки: button, checkbox, editBox, dropdown, radioGroup, comboBox, hyperlink, labelControl, groupBox, layoutContainer, imageControl

Menu

Представляет элемент управления меню.

Атрибут

Тип

Сигнатура обратного вызова

id

Идентификатор

Не применимо

idQ

Полное имя (строка)

Не применимо

idMso

Встроенное имя (строка)

Не применимо

*description

Строка

Не применимо

*getDescription

Обратный вызов

VBA: Sub GetDescription(control As IRibbonControl, ByRef returnedVal)

C#: string GetDescription(IRibbonControl control)

Visual Basic: Function GetDescription(control As IRibbonControl) As String

C++: HRESULT GetDescription([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

tag

Строка

Не применимо

enabled

Логический

Не применимо

getEnabled

Обратный вызов

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) As Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

image

Строка

Не применимо

imageMso

Встроенное имя (строка)

Не применимо

getImage

Обратный вызов

VBA: Sub GetImage(control As IRibbonControl, ByRef returnedBitmap)

C#: Bitmap GetImage(IRibbonControl control)

Visual Basic: Function GetImage(control As IRibbonControl) As Bitmap

C++: HRESULT GetImage([in] IRibbonControl *pControl, [out, retval] IPictureDisp ** ppdispImage)

keytip

Маркер

Не применимо

getKeytip

Обратный вызов

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

label

Строка

Не применимо

getLabel

Обратный вызов

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Логический

Не применимо

getVisible

Обратный вызов

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

*screentip

Строка

Не применимо

*getScreentip

Обратный вызов

VBA: Sub GetScreentip(control As IRibbonControl, ByRef returnedVal)

C#: string GetScreentip(IRibbonControl control)

Visual Basic: Function GetScreentip(control As IRibbonControl) As String

C++: HRESULT GetScreentip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*supertip

Строка

Не применимо

*getSupertip

Обратный вызов

VBA: Sub GetSupertip(control As IRibbonControl, ByRef returnedVal)

C#: string GetSupertip(IRibbonControl control)

Visual Basic: Function GetSupertip(control As IRibbonControl) As String

C++: HRESULT GetSupertip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

* Используется не во всех реализациях

Потомки: menuGroup

Menu Group

Представляет контейнер "группа меню".

Атрибут

Тип

Сигнатура обратного вызова

id

Идентификатор

Не применимо

idQ

Полное имя (строка)

Не применимо

idMso

Встроенное имя (строка)

Не применимо

tag

Строка

Не применимо

label

Строка

Не применимо

getLabel

Обратный вызов

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

itemSize

Строка

Не применимо

Потомки: button, checkbox, menu

Primary Item

Представляет контейнер "основной элемент".

Атрибуты: нет

Потомки: button, menu

Radio Button

Представляет кнопку в элементе управления "переключатель".

Атрибут

Тип

Сигнатура обратного вызова

id

Идентификатор

Не применимо

label

Строка

Не применимо

getLabel

Обратный вызов

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

Потомки: нет

Radio Group

Представляет контейнер элемента управления "переключатель".

Атрибут

Тип

Сигнатура обратного вызова

id

Идентификатор

Не применимо

idQ

Полное имя (строка)

Не применимо

idMso

Встроенное имя (строка)

Не применимо

tag

Строка

Не применимо

alignLabel

Строка

Не применимо

expand

Строка

Не применимо

layout

Строка

Не применимо

enabled

Логический

Не применимо

getEnabled

Обратный вызов

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) as Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getItemCount

Обратный вызов

VBA: Sub GetItemCount(control As IRibbonControl, ByRef returnedVal)

C#: int GetItemCount(IRibbonControl control)

Visual Basic: Function GetItemCount(control As IRibbonControl) as Integer

C++: HRESULT GetItemCount([in] IRibbonControl *pControl, [out, retval] LONG *returnedVal)

getItemID

Обратный вызов

VBA: Sub GetItemID(control As IRibbonControl, itemIndex As Integer, ByRef returnedVal)

C#: string GetItemID(IRibbonControl control, int itemIndex)

Visual Basic: Function GetItemID(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetItemID([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getItemLabel

Обратный вызов

VBA: Sub GetItemLabel(control As IRibbonControl, itemIndex As Integer, ByRef returnedVal)

C#: string GetItemLabel(IRibbonControl control, int itemIndex)

Visual Basic: Function GetSelectedItemIndex(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetSelectedItemIndex([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getSelectedItemIndex

Обратный вызов

VBA: Sub GetSelectedItemIndex(control As IRibbonControl, ByRef returnedVal)

C#: int GetSelectedItemIndex(IRibbonControl control)

Visual Basic: Function GetSelectedItemIndex(control As IRibbonControl) as Integer

C++: HRESULT GetSelectedItemIndex([in] IRibbonControl *pControl, [out, retval] LONG *returnedVal)

label

Строка

Не применимо

getLabel

Обратный вызов

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Логический

Не применимо

getVisible

Обратный вызов

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

onAction

Обратный вызов

VBA: Sub OnAction(control As IRibbonControl)

C#: void OnAction(IRibbonControl control)

Visual Basic: Sub OnAction(control As IRibbonControl)

C++: HRESULT OnAction([in] IRibbonControl *pControl)

keytip

Маркер

Не применимо

getKeytip

Обратный вызов

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

Потомки: radioButton

Tab

Представляет основной контейнер для связанных элементов управления представления Backstage.

Атрибут

Тип

Сигнатура обратного вызова

id

Идентификатор

Не применимо

idQ

Полное имя (строка)

Не применимо

idMso

Встроенное имя (строка)

Не применимо

tag

String

Не применимо

insertAfterMso

Встроенное имя (строка)

Не применимо

insertBeforeMso

Встроенное имя (строка)

Не применимо

insertAfterQ

Полное имя (строка)

Не применимо

insertBeforeQ

Полное имя (строка)

Не применимо

enabled

Логический

Не применимо

getEnabled

Обратный вызов

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) as Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

label

Строка

Не применимо

getLabel

Обратный вызов

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Логический

Не применимо

getVisible

Обратный вызов

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

keytip

Маркер

Не применимо

getKeytip

Обратный вызов

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

title

Строка

Не применимо

getTitle

Обратный вызов

VBA: Sub GetTitle(control As IRibbonControl, ByRef returnedVal)

C#: string GetTitle(IRibbonControl control)

Visual Basic: Function GetTitle(control As IRibbonControl) As String

C++: HRESULT GetTitle([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

columnWidthPercent

Положительное целое число

Не применимо

firstColumnMinWidth

Положительное целое число

Не применимо

firstColumnMaxWidth

Положительное целое число

Не применимо

secondColumnMinWidth

Положительное целое число

Не применимо

secondColumnMaxWidth

Положительное целое число

Не применимо

Потомки: firstColumn, secondColumn

Task

Представляет контейнер "задача".

Атрибут

Тип

Сигнатура обратного вызова

id

Идентификатор

Не применимо

idQ

Полное имя (строка)

Не применимо

idMso

Встроенное имя (строка)

Не применимо

tag

Строка

Не применимо

enabled

Логический

Не применимо

getEnabled

Обратный вызов

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) as Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

label

Строка

Не применимо

getLabel

Обратный вызов

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Логический

Не применимо

getVisible

Обратный вызов

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

keytip

Маркер

Не применимо

getKeytip

Обратный вызов

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

description

Строка

Не применимо

getDescription

Обратный вызов

VBA: Sub GetDescription(control As IRibbonControl, ByRef returnedVal)

C#: string GetDescription(IRibbonControl control)

Visual Basic: Function GetDescription(control As IRibbonControl) As String

C++: HRESULT GetDescription([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

image

Строка

Не применимо

imageMso

Встроенное имя (строка)

Не применимо

getImage

Обратный вызов

VBA: Sub GetImage(control As IRibbonControl, ByRef returnedBitmap)

C#: Bitmap GetImage(IRibbonControl control)

Visual Basic: Function GetImage(IRibbonControl control) As Bitmap

C++: HRESULT GetImage([in] IRibbonControl *pControl, [out, retval] IPictureDisp ** ppdispImage)

Потомки: group

Task Form Group

Представляет контейнер "группа формы задач".

Атрибут

Тип

Сигнатура обратного вызова

id

Идентификатор

Не применимо

idQ

Полное имя (строка)

Не применимо

idMso

Встроенное имя (строка)

Не применимо

tag

Строка

Не применимо

insertAfterMso

Встроенное имя (строка)

Не применимо

insertBeforeMso

Встроенное имя (строка)

Не применимо

insertAfterQ

Полное имя (строка)

Не применимо

insertBeforeQ

Полное имя (строка)

Не применимо

label

Строка

Не применимо

getLabel

Обратный вызов

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Логический

Не применимо

getVisible

Обратный вызов

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

helperText

Строка

Не применимо

getHelperText

Обратный вызов

VBA: Sub GetHelperText(control As IRibbonControl, ByRef returnedVal)

C#: string GetHelperText(IRibbonControl control)

Visual Basic: Function GetHelperText(control As IRibbonControl) As String

C++: HRESULT GetHelperText([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

showLabel

Логический

Не применимо

getShowLabel

Обратный вызов

VBA: Sub GetShowLabel(control As IRibbonControl, ByRef returnedVal)

C#: bool GetShowLabel(IRibbonControl control)

Visual Basic: Function GetShowLabel(control As IRibbonControl) As Boolean

C++: HRESULT GetShowLabel([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

Потомки: category

Task Group

Представляет контейнер "группа задач".

Атрибут

Тип

Сигнатура обратного вызова

id

Идентификатор

Не применимо

idQ

Полное имя (строка)

Не применимо

idMso

Встроенное имя (строка)

Не применимо

tag

Строка

Не применимо

insertAfterMso

Встроенное имя (строка)

Не применимо

insertBeforeMso

Встроенное имя (строка)

Не применимо

insertAfterQ

Полное имя (строка)

Не применимо

insertBeforeQ

Полное имя (строка)

Не применимо

label

String

Не применимо

getLabel

Обратный вызов

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

visible

Логический

Не применимо

getVisible

Обратный вызов

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

helperText

Строка

Не применимо

getHelperText

Обратный вызов

VBA: Sub GetHelperText(control As IRibbonControl, ByRef returnedVal)

C#: string GetHelperText(IRibbonControl control)

Visual Basic: Function GetHelperText(control As IRibbonControl) As String

C++: HRESULT GetHelperText([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

showLabel

Логический

Не применимо

getShowLabel

Обратный вызов

VBA: Sub GetShowLabel(control As IRibbonControl, ByRef returnedVal)

C#: bool GetShowLabel(IRibbonControl control)

Visual Basic: Function GetShowLabel(control As IRibbonControl) As Boolean

C++: HRESULT GetShowLabel([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

Потомки: category

Заключение

Расширения представления Backstage предоставляют широкие возможности для создания настроенного, целенаправленного набора меню и параметров. Однако основное преимущество заключается в том, что можно использовать знания и данные, применяемые при настройке интерфейса пользователя ленты. Рекомендуем вам ознакомиться с различными компонентами, из которых состоит интерфейс пользователя Microsoft Office Fluent, чтобы создавать настраиваемые приложения, соответствующие потребностям организации.

Дополнительные ресурсы

Дополнительные сведения о темах, описанных в этой статье, см. в следующих источниках.

Благодарности: хочу поблагодарить своего редактора, Линду Кэннон (Linda Cannon), за помощь при подготовке этой статьи.