Wskazówki: tworzenie menu skrótów dla zakładek
Ten instruktaż przedstawia sposób tworzenia menu skrótów dla Bookmark formantów w dostosowywania poziomie dokumentu dla programu Word.Gdy użytkownik kliknie prawym przyciskiem myszy tekst zakładki, menu skrótów pojawia się i daje możliwości użytkownika do formatowania tekstu.
Zastosowanie: Informacje przedstawione w tym temacie mają zastosowanie do projektów na poziomie dokumentu obsługiwanych w programach Word 2013 i Word 2010. Aby uzyskać więcej informacji, zobacz Funkcje dostępne w aplikacjach pakietu Office i typ projektu.
W przewodniku przedstawiono następujące zagadnienia:
Tworzenie projektu dokumentu programu Word w programie Visual Studio.
Dodawanie tekstu i zakładek w dokumencie w projekcie poziomie dokumentu w czasie projektowania.
Tworzenie menu skrótów.
Sprawdzanie zakładki nachodzące na siebie,.
[!UWAGA]
Na komputerze w poniższych instrukcjach mogą być wyświetlane inne nazwy i lokalizacje niektórych elementów interfejsu użytkownika programu Visual Studio. Te elementy są określane przez numer wersji Visual Studio oraz twoje ustawienia. Aby uzyskać więcej informacji, zobacz Dostosowywanie ustawień środowiska deweloperskiego w Visual Studio.
Wymagania wstępne
Następujące składniki są wymagane do przeprowadzenia tego instruktażu:
Edycja programu Visual Studio 2013, która oferuje narzędzia deweloperskie pakietu Microsoft Office. Aby uzyskać więcej informacji, zobacz Konfigurowanie komputera do opracowywania rozwiązań pakietu Office.
Word 2013 lub Word 2010
Tworzenie projektu
Pierwszym krokiem jest utworzenie projektu dokumentu programu Word w programie Visual Studio.
Aby utworzyć nowy projekt
Utwórz projekt dokumentu programu Word o nazwie Moje zakładki Menu skrótów.W kreatorze Wybierz Utwórz nowy dokument.Aby uzyskać więcej informacji, zobacz Porady: tworzenie projektów Office w Visual Studio.
Otwiera nowy dokument programu Word w projektancie programu Visual Studio i dodaje Moje zakładki Menu skrótów projekt do Solution Explorer.
Dodawanie tekstu i zakładek w dokumencie
Dodaj tekst do dokumentu, a następnie dodaj dwa nakładające się zakładki.
Aby dodać tekst do dokumentu
W dokumencie, który pojawia się w Projektancie projektu wpisz następujący tekst.
Jest to przykład tworzenia menu skrótów po kliknięciu prawym przyciskiem myszy tekst zakładki.
Aby dodać formant zakładek w dokumencie
W Przybornik, z Formantów programu Word karta, przeciągnij Bookmark formantu do dokumentu.
Dodać formant zakładki pojawi się okno dialogowe.
Zaznacz wyrazy "Tworzenie menu skrótów po kliknięciu prawym przyciskiem myszy tekst", a następnie kliknij przycisk OK.
bookmark1jest dodawane do dokumentu.
Dodaj kolejny Bookmark kontroli na słowa "prawym przyciskiem myszy tekst zakładki".
bookmark2jest dodawane do dokumentu.
[!UWAGA]
Wyrazy "prawym przyciskiem myszy tekst" są w obu bookmark1 i bookmark2.
Gdy zakładka zostanie dodana do dokumentu w czasie projektowania, Bookmark formant nie zostanie utworzony.Można zaprogramować przeciwko kilka zdarzeń zakładki.Można wpisać kod w BeforeRightClick zdarzenia zakładki, tak aby po kliknięciu tekstu znajdującego się w zakładce, menu skrótów pojawia się.
Dodawanie polecenia do Menu skrótów
Dodawanie przycisków do menu skrótów, które pojawia się po kliknięciu prawym przyciskiem myszy dokument.
Aby dodać polecenia do menu skrótów
Dodaj XML wstążki elementu do projektu.Aby uzyskać więcej informacji, zobacz Porady: wprowadzenie do dostosowywania wstążki.
W Solution Explorer, wybierz opcję ThisDocument.cs lub projekcie ThisDocument.vb.
Na pasku menu wybierz widoku, Kod.
ThisDocument klasy plik zostanie otwarty w edytorze kodu.
Dodaj następujący kod, aby ThisDocument klasy.Zastępuje ten kod CreateRibbonExtensibilityObject metody i zwraca kod XML wstążki klasy do aplikacji pakietu 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(); }
W Solution Explorer, wybierz plik XML wstążki.Domyślnie plik XML wstążki nosi nazwę Ribbon1.xml.
Na pasku menu wybierz widoku, Kod.
Plik xml wstążki zostanie otwarty w edytorze kodu.
W edytorze kodu zamień następujący kod zawartość pliku XML wstążki.
<?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>
Ten kod dodaje dwa przyciski menu skrótów, które pojawia się po kliknięciu prawym przyciskiem myszy dokument.
W Solution Explorer, kliknij prawym przyciskiem myszy ThisDocument, a następnie kliknij przycisk Widok Kod.
Ogłasza następujące zmienne i Zmienna zakładki na poziomie klasy.
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;
W Solution Explorer, wybierz plik kodu wstążki.Domyślnie plik kodu wstążki o nazwie Ribbon1.cs lub Ribbon1.vb.
Na pasku menu wybierz widoku, Kod.
Plik kod wstążki zostanie otwarty w edytorze kodu.
W pliku kodu wstążki należy dodać następującą metodę.Jest to metoda wywołania zwrotnego dla dwa przyciski, które zostały dodane do menu skrótów dokumentu.Metoda ta określa, czy przyciski są wyświetlane w menu skrótów.Przyciski pogrubienie i kursywa są wyświetlane tylko wtedy, gdy kliknij prawym przyciskiem myszy tekst w zakładce.
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; } }
Formatowanie tekstu znajdującego się w zakładce
Aby sformatować tekst zakładki
W pliku kodu wstążki, dodać ButtonClick programu obsługi zdarzeń, aby zastosować formatowanie do zakładki.
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; } } }
Eksplorator, wybierz opcję ThisDocument.cs lub projekcie ThisDocument.vb.
Na pasku menu wybierz widoku, Kod.
ThisDocument klasy plik zostanie otwarty w edytorze kodu.
Dodaj następujący kod, aby ThisDocument klasy.
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; } }
[!UWAGA]
Należy napisać kod obsługujący przypadek, w którym nakładają się zakładki.W przeciwnym razie, domyślnie, kod zostanie wywołany dla wszystkich zakładek w zaznaczeniu.
W języku C#, należy dodać obsługę zdarzeń dla formantów zakładki do Startup zdarzenia.Aby uzyskać informacje dotyczące tworzenia procedury obsługi zdarzeń, zobacz Porady: tworzenie obsługi zdarzeń w projektach pakietu Office.
private void ThisDocument_Startup(object sender, System.EventArgs e) { this.bookmark1.BeforeRightClick += new ClickEventHandler(bookmark_BeforeRightClick); this.bookmark2.BeforeRightClick += new ClickEventHandler(bookmark_BeforeRightClick); }
Testowanie aplikacji
Aby sprawdzić, czy elementy menu pogrubienie i kursywa są widoczne w menu skrótów po kliknięciu prawym przyciskiem myszy tekst zakładki i że tekst jest poprawnie sformatowany dokument należy przetestować.
Aby przetestować dokument
Naciśnij klawisz F5, aby uruchomić projekt.
Kliknij prawym przyciskiem myszy w pierwszej zakładki, a następnie kliknij przycisk Pogrubienie.
Sprawdź, czy cały tekst w bookmark1 jest sformatowany jako pogrubiony.
Kliknij prawym przyciskiem myszy tekst, którym nakładają się zakładki, a następnie kliknij przycisk Kursywa.
Sprawdź, czy cały tekst w bookmark2 jest kursywa, a tylko część tekstu w bookmark1 który nakłada się na bookmark2 jest pisany kursywą.
Następne kroki
Oto niektóre zadania, które może się dalej:
Pisanie kodu w celu reagowania na zdarzenia formantami hosta w programie Excel.Aby uzyskać więcej informacji, zobacz Wskazówki: programowanie w odniesieniu do zdarzeń formantu NamedRange.
Pole wyboru umożliwia zmianę formatowania w zakładki.Aby uzyskać więcej informacji, zobacz Wskazówki: zmiana formatowania dokumentu za pomocą formantów CheckBox.
Zobacz też
Koncepcje
Wskazówki dotyczące korzystania z programu Word
Automatyzowanie programu Word za pomocą obiektów rozszerzonych
Parametry opcjonalne w rozwiązaniach Office