Návod: 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 v dokumentu úroveň přizpůsobení pro aplikaci Word.Když uživatel klepne pravým tlačítkem myši na text v záložce, 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 ve Wordu 2013 a ve Wordu 2010. Další informace najdete v tématu Dostupné funkce podle aplikací systému Office a typů projektu.
Tento návod ilustruje následující úkoly:
Vytvoření projektu dokument aplikace Word v aplikaci Visual Studio.
Přidání textu a záložky do dokumentu v úrovni dokumentu projekt v době návrhu.
Vytvoření zástupce nabídky.
Kontrola překrývání záložky.
[!POZNÁMKA]
Na vašem počítači se můžou v následujících pokynech zobrazovat jiné názvy nebo umístění některých prvků uživatelského rozhraní Visual Studia. Tyto prvky jsou určeny edicí sady Visual Studio a použitým nastavením. Další informace najdete v tématu Přizpůsobení nastavení pro vývoj v sadě Visual Studio.
Požadavky
Chcete-li dokončit tento návod, potřebujete následující komponenty:
Edice Visual Studia 2013, která zahrnuje nástroje Microsoft Office Developer Tools. Další informace najdete v tématu Konfigurace počítače pro vývoj řešení pro systém Office.
Word 2013 nebo Word 2010
Vytváření projektu
První krok je vytvořit projekt dokumentu aplikace Word v aplikaci Visual Studio.
Chcete-li vytvořit nový projekt
Vytvoření projektu aplikace Word dokument s názvem Moje místní nabídce záložky.V dialogovém okně průvodce vyberte vytvořit nový dokument.Další informace naleznete v tématu Postupy: Vytváření projektů pro systém Office v prostředí Visual Studio.
Visual Studio otevře nový dokument aplikace Word v designer a přidá Moje místní nabídce záložky projekt na Průzkumník řešení.
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.
Chcete-li přidat text 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 po klepnutí pravým tlačítkem myši na text v záložce.
Přidat ovládací prvek záložky v dokumentu
V nástrojů, ze 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í 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 "klepněte pravým tlačítkem myši na text v záložce".
bookmark2je přidán do dokumentu.
[!POZNÁMKA]
Slova "klepněte pravým tlačítkem myši na text" jsou v obou bookmark1 a bookmark2.
Po přidání záložky v dokumentu v době návrhu Bookmark k vytvoření ovládacích prvků.Můžete ovládat několik událostí záložky.Můžete psát kód BeforeRightClick události záložky, aby se při 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ání tlačítka do místní nabídky, která se zobrazí po klepnutí pravým tlačítkem myši dokument.
Chcete-li přidat příkazy místní nabídky
Přidat XML pásu karet položky k projektu.Další informace naleznete v tématu Postupy: Začínáme s přizpůsobením pásu karet.
V Průzkumník řešení, vyberte ThisDocument.cs nebo ThisDocument.vb.
V řádku nabídek zvolte zobrazení, kód.
ThisDocument otevře soubor třídy v editoru kódu.
Přidejte následující kód, který ThisDocument třídy.Tento kód přepíše CreateRibbonExtensibilityObject metoda a vrátí XML pásu karet třídy pro 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ík řešení, vyberte soubor XML pásu karet.Podle výchozího nastavení je soubor XML pásu karet s názvem Ribbon1.xml.
V řádku nabídek zvolte zobrazení, kód.
Soubor xml pásu karet se otevře v editoru kódu.
V editoru kódu nahraďte následující kód 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 do místní nabídky, která se zobrazí po klepnutí pravým tlačítkem myši dokument.
V Průzkumník řešení, klepněte pravým tlačítkem myši ThisDocumenta potom klepněte na tlačítko Zobrazit kód.
Prohlašují následující proměnné a proměnné záložky 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ík řešení, vyberte soubor s kódem pásu karet.Standardně se nazývá soubor s kódem pásu Ribbon1.cs nebo Ribbon1.vb.
V řádku nabídek zvolte zobrazení, kód.
Pás karet kód soubor se otevře v editoru kódu.
Následující metodu přidejte do souboru kódu pásu karet.Toto je metoda zpětného volání pro dvě tlačítka, které jste přidali do dokumentu nabídky.Tato metoda určuje, zda tato tlačítka se zobrazují 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átovat Text v záložce
Chcete-li formátovat text v záložce
Přidejte do souboru kódu pásu karet ButtonClick obslužnou rutinu události můžete použít formátování na záložku.
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.
V řádku nabídek zvolte zobrazení, kód.
ThisDocument otevře soubor třídy v editoru kódu.
Přidejte následující kód, který 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 tak učiníte, není ve výchozím nastavení, bude volána kód pro všechny záložky ve výběru.
V jazyce C#, je třeba přidat obslužné rutiny událostí ovládacích prvků záložky Startup události.Informace o vytváření obslužných rutin událostí naleznete v tématu Postupy: Vytváření obslužných rutin událostí v projektech pro systém 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
Otestujte svůj dokument, ověřte, že tučné písmo a kurzívu nabídka zobrazí položky v místní nabídce po klepnutí pravým tlačítkem myši v záložce text a text je správně formátován.
Chcete-li otestovat dokumentu
Stiskněte klávesu F5 a spusťte projekt.
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ý.
Text záložky kde překrývají, klepněte pravým tlačítkem myši a potom klepněte na tlačítko Kurzíva.
Ověřte, že veškerý text v bookmark2 je kurzíva a pouze část textu v bookmark1 který 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, který reaguje na události hostitele ovládacích prvků v aplikaci Excel.Další informace naleznete v tématu Návod: Programové ošetření událostí ovládacího prvku NamedRange.
Chcete-li změnit formátování Záložka použijte zaškrtávací políčko.Další informace naleznete v tématu Návod: Změna formátování dokumentů s použitím ovládacích prvků CheckBox.
Viz také
Koncepty
Návody pro práci s aplikací Word
Automatizace v aplikaci Word s použitím rozšířených objektů
Volitelné parametry v řešeních pro systém Office