Udostępnij za pośrednictwem


Instruktaż: Tworzenie menu skrótów dla zakładki

W tym instruktażu przedstawiono sposób tworzenia menu skrótów dla Bookmark formanty 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.

Dotyczy: Informacje przedstawione w tym temacie dotyczą projektów na poziomie dokumentu dla programu Word 2013 i Word 2010. Aby uzyskać więcej informacji, zobacz Funkcje dostępne w aplikacji pakietu Office i typ projektu.

W tym instruktażu przedstawiono następujące zadania:

  • Tworzenie projektu.

  • Dodawanie tekstu i zakładek w dokumencie.

  • Dodawanie polecenia do Menu skrótów.

  • Aby sformatować tekst zakładki.

[!UWAGA]

Na danym komputerze mogą być używane inne nazwy lub lokalizacje pewnych elementów interfejsu użytkownika programu Visual Studio, które są używane w poniższych instrukcjach. Używana wersja programu Visual Studio oraz jej ustawienia określają te elementy. Aby uzyskać więcej informacji, zobacz Visual Studio, ustawienia.

Wymagania wstępne

Potrzebne do przeprowadzenia tego instruktażu następujące składniki:

-

Wersja Visual Studio 2012 zawierająca narzędzia dla deweloperów pakietu Microsoft Office. Aby uzyskać więcej informacji, zobacz [Konfigurowanie komputera do opracowywania rozwiązań pakietu Office](bb398242\(v=vs.110\).md).
  • Word 2013 lub Word 2010

Tworzenie projektu

Pierwszym krokiem jest utworzenie projekt dokumentu programu Word w Visual Studio.

Aby utworzyć nowy projekt

  • Utwórz projekt dokumentu programu Word o nazwie Moje Menu skrótów zakładki.W oknie kreatora wybierz Utwórz nowy dokument.Aby uzyskać więcej informacji, zobacz Jak: tworzenie projektów pakietu Office w programie Visual Studio.

    Otwiera nowy dokument programu Word w projektancie programu Visual Studio i dodaje Moje Menu skrótów zakładki projekt Solution Explorer.

Dodawanie tekstu i zakładek w dokumencie

Dodaj tekst do dokumentu, a następnie dodać 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ładki do dokumentu

  1. W Przybornik, z Kontroli słowo karta, przeciągnij Bookmark formantu do dokumentu.

    Dodać formant zakładki pojawi się okno dialogowe.

  2. Zaznacz wyrazy "Tworzenie menu skrótów po kliknięciu prawym przyciskiem myszy tekst", a następnie kliknij przycisk OK.

    bookmark1jest dodawane do dokumentu.

  3. 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.

Podczas dodawania zakładki do dokumentu w czasie projektowania, Bookmark formant nie zostanie utworzony.Można zaprogramować przeciwko kilka zdarzeń zakładki.Można napisać kod BeforeRightClick zdarzenie zakładki, tak aby po kliknięciu tekstu zakładki 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

  1. Dodaj XML wstążki element do projektu.Aby uzyskać więcej informacji, zobacz Jak: rozpocząć dostosowywanie wstążki.

  2. W Solution Explorer, wybierz opcję ThisDocument.cs lub projekcie ThisDocument.vb.

  3. Na pasku menu wybierz Widok, Kod.

    ThisDocument plik klasy zostanie otwarty w edytorze kodu.

  4. Dodaj następujący kod do ThisDocument klasy.Zastępuje ten kod CreateRibbonExtensibilityObject metoda i zwraca wartość 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();
    }
    
  5. W Solution Explorer, wybierz plik XML wstążki.Domyślnie plik XML wstążki o nazwie Ribbon1.xml.

  6. Na pasku menu wybierz Widok, Kod.

    Edytor kodu otwiera się plik xml wstążki.

  7. Następujący kod w edytorze kodu zastąpić 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.

  8. W Solution Explorer, kliknij prawym przyciskiem myszy ThisDocument, a następnie kliknij przycisk Widok Kod.

  9. Deklarujemy następujące zmienne i zmiennej 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;
    
    
  10. W Solution Explorer, wybierz plik kodu wstążki.Domyślnie plik kodu wstążki o nazwie Ribbon1.cs lub Ribbon1.vb.

  11. Na pasku menu wybierz Widok, Kod.

    Plik kod wstążki zostanie otwarty w edytorze kodu.

  12. W pliku kodu wstążki Dodaj następującą metodę.Jest to metoda wywołania zwrotnego dla dwóch przycisków, które zostały dodane do menu skrótów dokumentu.Metoda ta określa, czy te 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;
               }
    
           }
    
    

Aby sformatować tekst zakładki

  1. W pliku kodu wstążki, dodać ButtonClick 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;
            }
        }
    
    }
    
  2. Eksplorator, wybierz opcję ThisDocument.cs lub projekcie ThisDocument.vb.

  3. Na pasku menu wybierz Widok, Kod.

    ThisDocument plik klasy zostanie otwarty w edytorze kodu.

  4. Dodaj następujący kod do 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 sprawy, w którym nakładają się zakładki.Jeśli nie, domyślnie, kod zostanie wywołany dla wszystkich zakładek do zaznaczenia.

  5. W języku C#, należy dodać obsługę zdarzeń dla formantów zakładki do Startup zdarzenie.Aby uzyskać informacje dotyczące tworzenia procedury obsługi zdarzeń, zobacz Jak: tworzenie programów 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

Test dokument, aby zweryfikować, że po kliknięciu prawym przyciskiem myszy tekst zakładki w menu skrótów zostaną wyświetlone elementy menu pogrubienie i kursywa, i że tekst jest sformatowany poprawnie.

Aby przetestować dokument

  1. Naciśnij klawisz F5, aby uruchomić projekt.

  2. Kliknij prawym przyciskiem myszy w pierwszej zakładki, a następnie kliknij przycisk Pogrubienie.

  3. Sprawdź, czy cały tekst w bookmark1 jest sformatowany jako pogrubiony.

  4. Kliknij prawym przyciskiem myszy tekst, w którym nakładają się zakładki, a następnie kliknij przycisk Kursywa.

  5. Sprawdź, czy cały tekst w bookmark2 jest kursywa i tylko część tekstu w bookmark1 , nakłada się na bookmark2 jest pisany kursywą.

Następne kroki

Poniżej przedstawiono niektóre zadania, które może się dalej:

Zobacz też

Koncepcje

Instruktaże za pomocą w programie Word

Automatyzowanie programu Word przy użyciu obiektów rozszerzony

Kontrola zakładki

Parametry opcjonalne w rozwiązania dla pakietu Office

Inne zasoby

Dodatek dostosowywania interfejsu użytkownika pakietu Office