Overzicht van lintobjectmodel

Visual Studio Tools voor Office Runtime maakt een sterk getypt objectmodel beschikbaar dat u kunt gebruiken om de eigenschappen van lintbesturingselementen tijdens runtime op te halen en in te stellen. U kunt bijvoorbeeld menubesturingselementen dynamisch vullen of besturingselementen contextueel weergeven en verbergen. U kunt ook tabbladen, groepen en besturingselementen toevoegen aan een lint, maar alleen voordat het lint wordt geladen door de Office-toepassing. Zie Eigenschappen instellen die het kenmerk Alleen-lezen hebben.

Van toepassing op: De informatie in dit onderwerp is van toepassing op projecten op documentniveau en VSTO-invoegtoepassingsprojecten voor de volgende toepassingen: Excel; InfoPath 2013 en InfoPath 2010; Vooruitzicht; PowerPoint; Project; Visio; Woord. Zie Functies die beschikbaar zijn voor de Office-toepassing en het projecttype voor meer informatie.

Dit lintobjectmodel bestaat voornamelijk uit de klassen Lint,Lint-gebeurtenissen en Lintbesturingselementklassen.

Lintklasse

Wanneer u een nieuw Ribbon (Visual Designer)-item aan een project toevoegt, voegt Visual Studio een Ribbon-klasse aan uw project toe. De Ribbon-klasse erft van de RibbonBase-klasse.

Deze klasse wordt weergegeven als een gedeeltelijke klasse die wordt gesplitst tussen het lintcodebestand en het codebestand Lintontwerper.

Ribbon-gebeurtenissen

De Ribbon-klasse bevat de volgende drie events:

Event Description
Load Wordt geactiveerd wanneer de Office-toepassing de aanpassing van het lint laadt. De Load gebeurtenis-handler wordt automatisch toegevoegd aan het Ribbon-codebestand. Gebruik deze gebeurtenis-handler om aangepaste code uit te voeren wanneer het lint wordt geladen.
LoadImage Hiermee kunt u afbeeldingen cachen tijdens het aanpassen van het lint, wanneer het lint geladen wordt. U kunt een lichte prestatiewinst behalen als u code schrijft om de Ribbon-afbeeldingen in deze event-handler te cachen. Zie LoadImage voor meer informatie.
Close Wanneer de Ribbon-instantie wordt gesloten, wordt een gebeurtenis veroorzaakt.

Lintcontrole

De Microsoft.Office.Tools.Ribbon naamruimte bevat een type voor elke controle die u ziet in de groep Besturingselementen van het Office-lint van de Toolbox.

In de volgende tabel wordt het type voor elke Ribbon controle weergegeven. Zie het lintoverzicht voor een beschrijving van elk besturingselement.

Naam besturingselement Klassenaam
Doos RibbonBox
knop RibbonButton
ButtonGroup RibbonButtonGroup
Selectievakje RibbonCheckBox
Combobox RibbonComboBox
Vervolgkeuzelijst RibbonDropDown
EditBox RibbonEditBox
Galerij RibbonGallery
Groep RibbonGroup
Etiket RibbonLabel
Menu RibbonMenu
Afscheider RibbonSeparator
Knop splitsen RibbonSplitButton
Tab RibbonTab
Wisselknop RibbonToggleButton

De Microsoft.Office.Tools.Ribbon-naamruimte maakt gebruik van het voorvoegsel 'Lint' voor deze typen om conflicten met de namen van controleklassen in de System.Windows.Forms-naamruimte te voorkomen.

Wanneer u een besturingselement toevoegt aan de Lintontwerper, declareert de Lintontwerper de klasse voor dat besturingselement als een veld in het codebestand van de Lintontwerper.

Algemene taken met behulp van de eigenschappen van lintbesturingselementen

Elk Ribbon besturingselement bevat eigenschappen die u kunt gebruiken om verschillende taken uit te voeren, zoals het toewijzen van een label aan een besturingselement of het verbergen en weergeven van besturingselementen.

In sommige gevallen zijn eigenschappen alleen-lezen zodra de Ribbon is geladen of zodra een besturingselement is toegevoegd aan een dynamisch menu. Zie Eigenschappen instellen die alleen-lezen worden voor meer informatie.

In de volgende tabel worden enkele taken beschreven die u kunt uitvoeren met behulp van Ribbon besturingseigenschappen.

Voor deze taak: Ga als volgt te werk:
Een besturingselement verbergen of weergeven. Gebruik de eigenschap Visible.
Een besturingselement in- of uitschakelen. Gebruik de eigenschap Ingeschakeld.
Stel de grootte van een besturingselement in. Gebruik de eigenschap ControlSize.
Haal de afbeelding op die wordt weergegeven op een besturingselement. Gebruik de eigenschap Image.
Het label van een besturingselement wijzigen. Gebruik de eigenschap Label.
Door de gebruiker gedefinieerde gegevens toevoegen aan een besturingselement. Gebruik de eigenschap Tag.
De items ophalen in een RibbonBox, RibbonDropDown, of RibbonGallery

RibbonSplitButton beheersen.
Gebruik de eigenschap 'Items'.
Items toevoegen aan een RibbonComboBox, RibbonDropDownof RibbonGallery besturingselement. Gebruik de eigenschap Items.
Besturingselementen toevoegen aan een RibbonMenu. Gebruik de eigenschap Items.

Als u besturingselementen wilt toevoegen aan het RibbonMenu lint nadat het lint in de Office-toepassing is geladen, moet u de Dynamic eigenschap instellen op True voordat het lint in de Office-toepassing wordt geladen. Zie Eigenschappen instellen die het kenmerk Alleen-lezen hebben.
Haal het geselecteerde item van een RibbonComboBox op,

RibbonDropDown, of RibbonGallery.
Gebruik de eigenschap SelectedItem. Gebruik de eigenschap Text voor een RibbonComboBox.
Haal de groepen op een RibbonTab. Gebruik de Groups eigenschap.
Geef het aantal rijen en kolommen op dat wordt weergegeven in een RibbonGallery. Gebruik de RowCount en ColumnCount eigenschappen.

Eigenschappen instellen die het kenmerk Alleen-lezen hebben

Sommige eigenschappen kunnen alleen worden ingesteld voordat het lint wordt geladen. Er zijn drie plaatsen om deze eigenschappen in te stellen:

  • In het venster Eigenschappen van Visual Studio.

  • In de constructor van de Ribbon klasse.

  • In de CreateRibbonExtensibilityObject-methode van de ThisAddin, ThisWorkbook, of ThisDocument-klasse van uw project.

    Dynamische menu's bieden enkele uitzonderingen. U kunt nieuwe besturingselementen maken, hun eigenschappen instellen en deze vervolgens toevoegen aan een dynamisch menu tijdens runtime, zelfs nadat het lint met het menu is geladen.

    Eigenschappen van besturingselementen die u aan een dynamisch menu toevoegt, kunnen op elk gewenst moment worden ingesteld.

    Zie Eigenschappen die het kenmerk Alleen-lezen hebben voor meer informatie.

Eigenschappen instellen in de constructor van het lint

U kunt de eigenschappen van een Ribbon controle instellen in de constructor van de Ribbon class. Deze code moet worden weergegeven na de aanroep van de InitializeComponent methode. In het volgende voorbeeld wordt een nieuwe knop aan een groep toegevoegd als de huidige tijd 17:00 Pacific Time (UTC-8) of later is.

Voeg de volgende code toe.

public Ribbon1()
    : base(Globals.Factory.GetRibbonFactory())
{
    InitializeComponent();
    if (System.DateTime.Now.Hour > 16)
    {
        Microsoft.Office.Tools.Ribbon.RibbonButton button =
            this.Factory.CreateRibbonButton();
        button.Label = "New Button";
        group1.Items.Add(button);
    }
}

In Visual C#-projecten die u hebt bijgewerkt vanuit Visual Studio 2008, wordt de constructor weergegeven in het lintcodebestand.

In Visual Basic-projecten of in Visual C#-projecten die u in Visual Studio 2013 hebt gemaakt, wordt de constructor weergegeven in het codebestand lintontwerper. Dit bestand heeft de naam YourRibbonItem. Designer.cs of YourRibbonItem. Designer.vb. Als u dit bestand in Visual Basic-projecten wilt zien, moet u eerst op de knop Alle bestanden weergeven in Solution Explorer klikken.

Eigenschappen instellen in de methode CreateRibbonExtensibilityObject

U kunt de eigenschappen van een Ribbon besturingselement instellen wanneer u de CreateRibbonExtensibilityObject methode in de ThisAddin, ThisWorkbookof ThisDocument klasse van uw project overschrijft. Zie CreateRibbonExtensibilityObject voor meer informatie over de methode.

In het volgende voorbeeld worden linteigenschappen ingesteld in de CreateRibbonExtensibilityObject methode van de ThisWorkbook klasse van een Excel-werkmapproject.

Voeg de volgende code toe.

protected override Microsoft.Office.Core.IRibbonExtensibility
    CreateRibbonExtensibilityObject()
{
    bool myCondition = false;
    if (myCondition == true)
    {
        Ribbon1 tempRibbon = new Ribbon1();
        tempRibbon.tab1.ControlId.ControlIdType =
            Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office;
        tempRibbon.tab1.ControlId.OfficeId = "TabHome";
        return Globals.Factory.GetRibbonFactory().CreateRibbonManager( 
            new Microsoft.Office.Tools.Ribbon.IRibbonExtension[]
             { tempRibbon });
    }
    else
    {
        Ribbon2 tempRibbon = new Ribbon2();
        tempRibbon.tab1.ControlId.ControlIdType =
            Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office;
        tempRibbon.tab1.ControlId.OfficeId = "TabInsert";
        return Globals.Factory.GetRibbonFactory().CreateRibbonManager(
                            new Microsoft.Office.Tools.Ribbon.IRibbonExtension[] { tempRibbon });
    }
}

Eigenschappen die alleen-lezen worden

In de volgende tabel ziet u eigenschappen die alleen kunnen worden ingesteld voordat het lint wordt geladen.

Opmerking

U kunt de eigenschappen van besturingselementen op elk gewenst moment instellen in dynamische menu's. Deze tabel is in dat geval niet van toepassing.

Vastgoed Klasse voor lintbesturingselement
BoxStyle RibbonBox
ButtonType RibbonSplitButton
ColumnCount RibbonGallery
ControlId RibbonTab
DialogLauncher RibbonGroup
dynamisch RibbonMenu
Global OfficeRibbon
Groepen RibbonTab
ImageName RibbonButton

RibbonComboBox

RibbonDialogLauncher

RibbonDropDown

RibbonEditBox

RibbonGallery

RibbonMenu

RibbonSplitButton

RibbonToggleButton
ItemSize RibbonMenu

RibbonSplitButton
MaxLength RibbonComboBox

RibbonEditBox
Naam RibbonComponent
Positie RibbonButton

RibbonCheckBox

RibbonGallery

RibbonGroup

RibbonMenu

RibbonSeparator

RibbonSplitButton

RibbonTab

RibbonToggleButton
RibbonType OfficeRibbon
RowCount RibbonGallery
ShowItemImage RibbonComboBox

RibbonDropDown

RibbonGallery
ShowItemLabel RibbonDropDown

RibbonGallery
ShowItemSelection RibbonGallery
SizeString RibbonComboBox

RibbonDropDown

RibbonEditBox
StartFromScratch OfficeRibbon
Tabbladen OfficeRibbon
Titel RibbonSeparator

Eigenschappen instellen voor linten die worden weergegeven in Outlook-inspectors

Telkens wanneer een gebruiker een Inspector opent waarin het lint wordt weergegeven, wordt er een nieuw exemplaar van het lint gemaakt. U kunt de eigenschappen in de bovenstaande tabel echter alleen instellen voordat het eerste exemplaar van het lint wordt gemaakt. Nadat de eerste instantie is gemaakt, worden deze eigenschappen alleen-lezen omdat de eerste instantie het XML-bestand definieert dat Outlook gebruikt om de ribbon te laden.

Als u voorwaardelijke logica hebt waarmee een van deze eigenschappen wordt ingesteld op een andere waarde wanneer andere exemplaren van het lint worden gemaakt, heeft deze code geen effect.

Opmerking

Zorg ervoor dat de eigenschap Naam is ingesteld voor elk bedieningselement dat u aan een Outlook-lint toevoegt. Als u tijdens de uitvoering een besturingselement aan een Outlook-Lint toevoegt, moet u deze eigenschap instellen in uw code. Als u tijdens het ontwerp een controle-element aan een Outlook Ribbon toevoegt, wordt de eigenschap Naam automatisch ingesteld.

Gebeurtenissen van lintbesturingselementen

Elke besturingsklasse bevat een of meer gebeurtenissen. In de volgende tabel worden deze gebeurtenissen beschreven.

Event Description
Klik Treedt op wanneer op een besturingselement wordt geklikt.
TextVeranderd Treedt op wanneer de tekst van een invoervak of keuzelijstvak wordt gewijzigd.
Items worden geladen Treedt op wanneer de Items-verzameling van het besturingselement door Office wordt aangevraagd. Office cachet de Items-verzameling tot uw code de eigenschappen van de controle wijzigt of u de InvalidateControl-methode aanroept.
KnopKlik Treedt op wanneer een knop in een RibbonGallery of RibbonDropDown wordt geklikt.
SelectieGewijzigd Treedt op wanneer de selectie in een RibbonDropDown of RibbonGallery verandert.
DialogLauncherClick Treedt op wanneer op de startknop voor dialoogvensters in de rechterbenedenhoek van een groep wordt geklikt.

De gebeurtenis-handlers voor deze gebeurtenissen hebben de volgende twee parameters.

Kenmerk Description
afzender Een Object die het besturingselement vertegenwoordigt dat de gebeurtenis heeft gegenereerd.
e Een RibbonControlEventArgs die een IRibbonControl. Gebruik dit besturingselement voor toegang tot een eigenschap die niet beschikbaar is in het lintobjectmodel dat wordt geleverd door de Visual Studio Tools for Office Runtime.