Názorný postup: Vytváření místních nabídek pro záložky
Tento návod ukazuje, jak vytvořit místní nabídky pro Bookmark prvky přizpůsobení úroveň dokument aplikace Word.Když uživatel klepne pravým tlačítkem text záložky, místní nabídce se zobrazí a dává uživateli možnosti pro formátování textu.
Platí pro: Informace v tomto tématu se vztahují na projekty na úrovni dokumentu v aplikacích Word 2013 a Word 2010. Další informace naleznete v tématu Funkce aplikace Office a typ projektu.
Tento návod ilustruje následující úkoly:
Vytváření projektu.
Přidání textu a záložky v dokumentu.
Přidání příkazů místní nabídky.
Formátování textu v záložkách.
[!POZNÁMKA]
Ve vašem počítači se pro některé z prvků uživatelského rozhraní sady Visual Studio mohou zobrazit jiné názvy a umístění, než jsou uvedeny v následujících pokynech. Tyto prvky jsou určeny verzí aplikace Visual Studio a použitým nastavením. Další informace naleznete v tématu Nastavení aplikace Visual Studio.
Požadavky
Chcete-li dokončit tento návod, potřebujete následující komponenty:
-
Edice sady Visual Studio 2012, která zahrnuje nástroje Microsoft Office Developer Tools. Další informace naleznete v tématu [Konfigurace počítače vyvinout řešení Office](bb398242\(v=vs.110\).md).
- Word 2013 nebo Word 2010
Vytváření projektu
První krok je vytvořit projekt dokumentu aplikace Word v aplikaci Visual Studio.
Vytvoření nového projektu
Vytvořte projekt dokumentu aplikace Word s názvem Moje Záložka místní nabídky.V okně průvodce vyberte vytvořit nový dokument.Další informace naleznete v tématu Jak: vytvoření Office projekty v aplikaci Visual Studio.
Nový dokument aplikace Word se otevře v návrháři Visual Studio a přidá Moje Záložka místní nabídky projektu Průzkumníku.
Přidání textu a záložky v dokumentu
Přidat text do dokumentu a pak přidejte dva překrývající se záložky.
Přidání textu do dokumentu
V dokumentu, který se zobrazí v Návrháři projektu zadejte následující text.
Toto je příklad vytvoření místní nabídky pravým tlačítkem myši na záložku text.
Přidání ovládacího prvku záložky v dokumentu
V nástrojů, z Ovládací prvky aplikace Word tabulátoru, přetáhněte Bookmark ovládacího prvku do dokumentu.
Přidat záložku ovládací zobrazí se dialogové okno.
Vyberte slova "Vytvoření místní nabídky po klepnutí pravým tlačítkem myši na text" a potom klepněte na tlačítko OK.
bookmark1je přidán do dokumentu.
Přidat další Bookmark řízení se slovy "pravým tlačítkem myši na záložku text".
bookmark2je přidán do dokumentu.
[!POZNÁMKA]
Slova "pravým tlačítkem myši na text" jsou v obou bookmark1 a bookmark2.
Po přidání záložky k dokumentu v době návrhu Bookmark ovládací prvek je vytvořen.Lze program proti několik událostí záložky.Můžete psát kód BeforeRightClick události záložky, takže po kliknutí pravým tlačítkem na záložku text zobrazí místní nabídka.
Přidání příkazů místní nabídky
Přidáte tlačítka v místní nabídce, která se zobrazí po klepnutí pravým tlačítkem myši dokument.
Přidat příkazy místní nabídky
Přidat XML pásu karet položky k projektu.Další informace naleznete v tématu Jak: Začínáme přizpůsobení pásu karet.
V Průzkumníku, vyberte ThisDocument.cs nebo ThisDocument.vb.
Na panelu nabídek zvolte zobrazení, kód.
ThisDocument třídy soubor se otevře v editoru kódu.
Následující kód přidejte ThisDocument třídy.Tento kód přepíše CreateRibbonExtensibilityObject metoda a vrátí XML pásu karet třídy aplikace sady Office.
Protected Overrides Function CreateRibbonExtensibilityObject() As Microsoft.Office.Core.IRibbonExtensibility Return New Ribbon1() End Function
protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject() { return new Ribbon1(); }
V Průzkumníku, vyberte soubor XML pásu karet.Standardně je soubor XML pásu karet s názvem Ribbon1.xml.
Na panelu nabídek zvolte zobrazení, kód.
Soubor xml pásu karet se otevře v editoru kódu.
Následující kód v editoru kódu nahraďte obsah souboru XML pásu karet.
<?xml version="1.0" encoding="UTF-8"?> <customUI xmlns="https://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load"> <contextMenus> <contextMenu idMso="ContextMenuText"> <button id="BoldButton" label="Bold" onAction="ButtonClick" getVisible="GetVisible" /> <button id="ItalicButton" label="Italic" onAction="ButtonClick" getVisible="GetVisible"/> </contextMenu> </contextMenus> </customUI>
Tento kód přidá dvě tlačítka místní nabídky, která se zobrazí po klepnutí pravým tlačítkem myši dokument.
V Průzkumníku, klepněte pravým tlačítkem ThisDocumenta klepněte na tlačítko Zobrazení kódu.
Deklarujte následující proměnné a proměnné záložku na úrovni třídy.
Public selectedBookmark As Microsoft.Office.Tools.Word.Bookmark Public ShowBoldButton As String = False Public ShowItalicButton As String = False Public WordTrue As Integer = -1 Public WordFalse As Integer = 0
public Microsoft.Office.Tools.Word.Bookmark selectedBookmark; public bool showBoldButton = false; public bool showItalicButton = false; public int WordTrue = -1; public int WordFalse = 0;
V Průzkumníku, vyberte soubor kódu pásu karet.Výchozí soubor pásu kódu je pojmenován Ribbon1.cs nebo Ribbon1.vb.
Na panelu nabídek zvolte zobrazení, kód.
Otevře soubor pásu kódu v editoru kódu.
V souboru kódu pásu přidejte následující metodu.Toto je metoda zpětného volání pro dvě tlačítka, přidané do místní nabídky dokumentu.Tato metoda určuje, zda tato tlačítka se zobrazí v místní nabídce.Pouze v případě, že klepnete pravým tlačítkem myši v záložce text, zobrazí se tlačítka tučné písmo a kurzívu.
Public Function GetVisible(ByVal control As Office.IRibbonControl) As Boolean If control.Id = "BoldButton" Then If Globals.ThisDocument.ShowBoldButton = True Then Globals.ThisDocument.ShowBoldButton = False Return True Else Return False End If ElseIf control.Id = "ItalicButton" Then If Globals.ThisDocument.ShowItalicButton = True Then Globals.ThisDocument.ShowItalicButton = False Return True Else Return False End If Else Return False End If End Function
public bool GetVisible(Office.IRibbonControl control) { if (control.Id == "BoldButton") { if (Globals.ThisDocument.showBoldButton == true) { Globals.ThisDocument.showBoldButton = false; return true; } else { return false; } } else if (control.Id == "ItalicButton") { if (Globals.ThisDocument.showItalicButton == true) { Globals.ThisDocument.showItalicButton = false; return true; } else { return false; } } else { return false; } }
Formátování textu v záložkách
V souboru kódu pásu karet přidat ButtonClick formátování Záložka obslužnou rutinu události.
Public Sub ButtonClick(ByVal control As Office.IRibbonControl) If control.Id = "BoldButton" Then If Globals.ThisDocument.selectedBookmark.Bold = _ Globals.ThisDocument.WordTrue Then Globals.ThisDocument.selectedBookmark.Bold = _ Globals.ThisDocument.WordFalse Else Globals.ThisDocument.selectedBookmark.Bold = _ Globals.ThisDocument.WordTrue End If ElseIf control.Id = "ItalicButton" Then If Globals.ThisDocument.selectedBookmark.Italic = _ Globals.ThisDocument.WordTrue Then Globals.ThisDocument.selectedBookmark.Italic = _ Globals.ThisDocument.WordFalse Else Globals.ThisDocument.selectedBookmark.Italic = _ Globals.ThisDocument.WordTrue End If End If End Sub
public void ButtonClick(Office.IRibbonControl control) { if (control.Id == "BoldButton") { if (Globals.ThisDocument.selectedBookmark.Bold == Globals.ThisDocument.WordTrue) { Globals.ThisDocument.selectedBookmark.Bold = Globals.ThisDocument.WordFalse; } else { Globals.ThisDocument.selectedBookmark.Bold = Globals.ThisDocument.WordTrue; } } else if (control.Id == "ItalicButton") { if (Globals.ThisDocument.selectedBookmark.Italic == Globals.ThisDocument.WordTrue) { Globals.ThisDocument.selectedBookmark.Italic = Globals.ThisDocument.WordFalse; } else { Globals.ThisDocument.selectedBookmark.Italic = Globals.ThisDocument.WordTrue; } } }
Průzkumník řešení, vyberte ThisDocument.cs nebo ThisDocument.vb.
Na panelu nabídek zvolte zobrazení, kód.
ThisDocument třídy soubor se otevře v editoru kódu.
Následující kód přidejte ThisDocument třídy.
Private Sub Bookmark_BeforeRightClick(ByVal sender As Object, ByVal e _ As Microsoft.Office.Tools.Word.ClickEventArgs) _ Handles Bookmark1.BeforeRightClick, Bookmark2.BeforeRightClick Dim startPosition As Integer = 0 Dim i As Integer ' If bookmarks overlap, get bookmark closest to cursor. For i = 1 To e.Selection.Bookmarks.Count If e.Selection.Bookmarks(i).Start > startPosition Then startPosition = e.Selection.Bookmarks(i).Start End If Next ' If closest bookmark is the sender, show the shortcut menu options. If DirectCast(sender, Microsoft.Office.Tools.Word.Bookmark).Start = _ startPosition Then selectedBookmark = DirectCast(sender, Microsoft.Office.Tools.Word.Bookmark) ShowBoldButton = True ShowItalicButton = True End If End Sub
void bookmark_BeforeRightClick(object sender, ClickEventArgs e) { int startPosition = 0; // If bookmarks overlap, get bookmark closest to cursor. for (int i = 1; i <= e.Selection.Bookmarks.Count; i++) { if (e.Selection.Bookmarks[i].Start > startPosition) { startPosition = e.Selection.Bookmarks[i].Start; } } // If closest bookmark is the sender, show shortcut menu options. if (((Microsoft.Office.Tools.Word.Bookmark)sender).Start == startPosition) { selectedBookmark = (Microsoft.Office.Tools.Word.Bookmark)sender; showBoldButton = true; showItalicButton = true; } }
[!POZNÁMKA]
Musíte napsat kód pro zpracování případu, kde se překrývají záložky.Pokud není, ve výchozím nastavení, bude volána kód pro všechny záložky ve výběru.
V jazyce C# musíte přidat obslužné rutiny události pro ovládací prvky záložky Startup události.Informace o vytváření obslužných rutin událostí, Jak: vytvoření obslužné rutiny událostí v projektech Office.
private void ThisDocument_Startup(object sender, System.EventArgs e) { this.bookmark1.BeforeRightClick += new ClickEventHandler(bookmark_BeforeRightClick); this.bookmark2.BeforeRightClick += new ClickEventHandler(bookmark_BeforeRightClick); }
Testování aplikace
Testujte dokumentu ověřte, že tučné písmo a kurzívu nabídky položky se zobrazí v místní nabídce, pravým tlačítkem myši na záložku text a text je správně formátován.
Testování dokumentu
Stisknutím klávesy F5 spustit projektu.
Klepněte pravým tlačítkem myši na první záložku a klepněte na tlačítko Tučné.
Ověřte, že veškerý text v bookmark1 je formátován jako tučný.
Pravým tlačítkem myši na text, kde se překrývají záložky, a klepněte na tlačítko Kurzíva.
Ověřte, že veškerý text v bookmark2 je kurzíva a část textu v bookmark1 , překrývá bookmark2 je kurzíva.
Další kroky
Zde jsou některé úkoly, které by mohly přijít Další:
Napište kód reagovat na události hostitele ovládací prvky v aplikaci Excel.Další informace naleznete v tématu Názorný postup: Programování proti událostem ovládacího prvku NamedRange.
Pomocí zaškrtávacího políčka změnit formátování záložky.Další informace naleznete v tématu Názorný postup: Změna formátování dokumentu pomocí ovládací prvky komponenty CheckBox.
Viz také
Koncepty
Automatizace aplikace Word pomocí rozšířené objekty
Volitelné parametry v Office Solutions