Pás karet – XML

Položka Pás karet (XML) umožňuje přizpůsobit pás karet pomocí XML. Položku pásu karet (XML) použijte, pokud chcete pás karet přizpůsobit způsobem, který položka pásu karet (vizuální návrhář) nepodporuje. Porovnání toho, co můžete s jednotlivými položkami dělat, najdete v přehledu pásu karet.

Platí pro: Informace v tomto tématu platí pro projekty na úrovni dokumentů a projekty doplňků VSTO pro následující aplikace: Excel; InfoPath 2013 a InfoPath 2010; Aplikace outlook; Powerpoint; Projektu; Aplikace visio; Slovo. Další informace naleznete v tématu Funkce dostupné aplikace Office lication a typu projektu.

Přidání položky pásu karet (XML) do projektu

Položku pásu karet (XML) můžete přidat do libovolného projektu Office z dialogového okna Přidat novou položku. Visual Studio do projektu automaticky přidá následující soubory:

  • Soubor XML pásu karet. Tento soubor definuje uživatelské rozhraní pásu karet. Tento soubor použijte k přidání prvků uživatelského rozhraní, jako jsou karty, skupiny a ovládací prvky. Podrobnosti najdete v části Odkaz na soubor XML pásu karet dále v tomto tématu.

  • Soubor s kódem pásu karet Tento soubor obsahuje třídu pásu karet. Tato třída má název, který jste zadali pro položku pásu karet (XML) v dialogovém okně Přidat novou položku . systém Microsoft Office aplikace používají instanci této třídy k načtení vlastního pásu karet. Podrobnosti najdete v části Odkaz na třídu pásu karet dále v tomto tématu.

    Ve výchozím nastavení tyto soubory přidávají vlastní skupinu na kartu Doplňky na pásu karet.

Zobrazení vlastního pásu karet v aplikaci systém Microsoft Office

Po přidání položky pásu karet (XML) do projektu musíte přidat kód do thisAddin, ThisWorkbook nebo ThisDocument třídy, která přepíše metodu CreateRibbonExtensibilityObject a vrátí třídu XML pásu karet do aplikace Office lication.

Následující příklad kódu přepíše metodu CreateRibbonExtensibilityObject a vrátí třídu XML pásu karet s názvem MyRibbon.

protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
{
    return new MyRibbon();
}

Definování chování vlastního pásu karet

Na akce uživatelů, jako je kliknutí na tlačítko na pásu karet, můžete reagovat vytvořením metod zpětného volání. Metody zpětného volání se podobají událostem v ovládacích prvcích model Windows Forms, ale jsou identifikovány atributem v XML prvku uživatelského rozhraní. Metody píšete ve třídě pásu karet a ovládací prvek volá metodu, která má stejný název jako hodnota atributu. Můžete například vytvořit metodu zpětného volání, která se volá, když uživatel klikne na tlačítko na pásu karet. K vytvoření metody zpětného volání se vyžadují dva kroky:

  • Přiřaďte atribut ovládacímu prvku v souboru XML pásu karet, který identifikuje metodu zpětného volání v kódu.

  • Definujte metodu zpětného volání ve třídě pásu karet.

Poznámka:

Outlook vyžaduje další krok. Další informace najdete v tématu Přizpůsobení pásu karet pro Outlook.

Návod, který ukazuje, jak automatizovat aplikaci z pásu karet, najdete v tématu Návod: Vytvoření vlastní karty pomocí xml pásu karet.

Přiřazení metod zpětného volání ovládacím prvkům

Chcete-li přiřadit metodu zpětného volání ovládacímu prvku v souboru XML pásu karet, přidejte atribut, který určuje typ metody zpětného volání a název metody. Například následující prvek definuje přepínací tlačítko, které má onAction metodu zpětného volání pojmenovanou .OnToggleButton1

<toggleButton id="toggleButton1" onAction="OnToggleButton1" />

OnAction se volá, když uživatel provede hlavní úlohu přidruženou k určitému ovládacímu prvku. Například onAction metoda zpětného volání přepínače je volána, když uživatel klikne na tlačítko.

Metoda, kterou zadáte v atributu, může mít libovolný název. Musí se však shodovat s názvem metody, kterou definujete v souboru kódu pásu karet.

Existuje mnoho různých typů metod zpětného volání, které můžete přiřadit ovládacím prvkům pásu karet. Úplný seznam metod zpětného volání dostupných pro jednotlivé ovládací prvky najdete v technickém článku Přizpůsobení uživatelského rozhraní pásu karet Office (2007) pro vývojáře (část 3 ze 3).

Definování metod zpětného volání

Definujte metody zpětného volání ve třídě pásu karet v souboru kódu pásu karet. Metoda zpětného volání má několik požadavků:

  • Musí být deklarována jako veřejná.

  • Název musí odpovídat názvu metody zpětného volání, kterou jste přiřadili ovládacímu prvku v souboru XML pásu karet.

  • Jeho podpis musí odpovídat podpisu typu metody zpětného volání, která je k dispozici pro přidružený ovládací prvek pásu karet.

    Úplný seznam podpisů metod zpětného volání pro ovládací prvky pásu karet najdete v technickém článku Přizpůsobení uživatelského rozhraní pásu karet Office (2007) pro vývojáře (část 3 ze 3). Visual Studio neposkytuje podporu Technologie IntelliSense pro metody zpětného volání, které vytvoříte v souboru kódu pásu karet. Pokud vytvoříte metodu zpětného volání, která neodpovídá platnému podpisu, kód se zkompiluje, ale nic se neprojeví, když uživatel klikne na ovládací prvek.

    Všechny metody zpětného volání mají IRibbonControl parametr, který představuje ovládací prvek, který volal metodu. Tento parametr můžete použít k opětovnému použití stejné metody zpětného volání pro více ovládacích prvků. Následující příklad kódu ukazuje onAction callback metoda, která provádí různé úlohy v závislosti na tom, který ovládací prvek uživatel klikne.

    public void OnActionCallback(Office.IRibbonControl control, bool isPressed)
    {
        if (control.Id == "checkBox1")
        {
            MessageBox.Show("You clicked " + control.Id);
        }
        else
        {
            MessageBox.Show("You clicked a different control.");
        }
    }
    

Odkaz na soubor XML pásu karet

Vlastní pás karet můžete definovat přidáním prvků a atributů do souboru XML pásu karet. Ve výchozím nastavení soubor XML pásu karet obsahuje následující XML.

<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="OnLoad">
  <ribbon>
    <tabs>
      <tab idMso="TabAddIns">
        <group id="MyGroup"
               label="My Group">
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

Následující tabulka popisuje výchozí prvky v souboru XML pásu karet.

Element (Prvek) Popis
customUI Představuje vlastní pás karet v projektu doplňku VSTO.
Pásu karet Představuje pás karet.
Záložky Představuje sadu karet pásu karet.
Kartě Představuje jednu kartu pásu karet.
Skupiny Představuje skupinu ovládacích prvků na kartě Pás karet.

Tyto prvky mají atributy, které určují vzhled a chování vlastního pásu karet. Následující tabulka popisuje výchozí atributy v souboru XML pásu karet.

Atribut Nadřazený prvek Popis
Onload customUI Identifikuje metodu, která se volá, když aplikace načte pás karet.
idMso Kartě Identifikuje integrovanou kartu, která se má zobrazit na pásu karet.
id Skupiny Identifikuje skupinu.
Popisek Skupiny Určuje text, který se zobrazí ve skupině.

Výchozí prvky a atributy v souboru XML pásu karet jsou malou podmnožinou prvků a atributů, které jsou k dispozici. Úplný seznam dostupných prvků a atributů najdete v technickém článku Přizpůsobení uživatelského rozhraní pásu karet Office (2007) pro vývojáře (část 2 ze 3).

Referenční informace ke třídě pásu karet

Visual Studio vygeneruje třídu pásu karet v souboru kódu pásu karet. Přidejte metody zpětného volání pro ovládací prvky na pásu karet do této třídy. Tato třída implementuje IRibbonExtensibility rozhraní.

Následující tabulka popisuje výchozí metody v této třídě.

metoda Popis
GetCustomUI Vrátí obsah souboru XML pásu karet. systém Microsoft Office aplikace volají tuto metodu k získání řetězce XML, který definuje uživatelské rozhraní vlastního pásu karet. Tato metoda implementuje metodu GetCustomUI . Poznámka:GetCustomUI Měli byste implementovat pouze pro vrácení obsahu souboru XML pásu karet. Neměli byste ho použít k inicializaci doplňku VSTO. Konkrétně byste se neměli pokoušet zobrazovat dialogová okna nebo jiná okna v GetCustomUI implementaci. Jinak se vlastní pás karet nemusí chovat správně. Pokud potřebujete spustit kód, který inicializuje doplněk VSTO, přidejte kód do ThisAddIn_Startup obslužné rutiny události.
OnLoad IRibbonControl Přiřadí parametr k Ribbon poli. systém Microsoft Office aplikace tuto metodu volají při načítání vlastního pásu karet. Toto pole můžete použít k dynamické aktualizaci vlastního pásu karet. Další informace najdete v technickém článku Přizpůsobení uživatelského rozhraní pásu karet Office (2007) pro vývojáře (část 1 ze 3).
GetResourceText Volá se metodou GetCustomUI k získání obsahu souboru XML pásu karet.