Udostępnij za pośrednictwem


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:

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

  1. W Przybornik, z Formantów programu Word 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.

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

  1. Dodaj XML wstążki elementu do projektu.Aby uzyskać więcej informacji, zobacz Porady: wprowadzenie do dostosowywania wstążki.

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

  3. Na pasku menu wybierz widoku, Kod.

    ThisDocument klasy plik zostanie otwarty w edytorze kodu.

  4. 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();
    }
    
  5. W Solution Explorer, wybierz plik XML wstążki.Domyślnie plik XML wstążki nosi nazwę Ribbon1.xml.

  6. Na pasku menu wybierz widoku, Kod.

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

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

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

  9. 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;
    
  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 widoku, Kod.

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

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

  1. 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;
            }
        }
    
    }
    
  2. Eksplorator, wybierz opcję ThisDocument.cs lub projekcie ThisDocument.vb.

  3. Na pasku menu wybierz widoku, Kod.

    ThisDocument klasy plik zostanie otwarty w edytorze kodu.

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

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

  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, którym nakładają się zakładki, a następnie kliknij przycisk Kursywa.

  5. 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:

Zobacz też

Koncepcje

Wskazówki dotyczące korzystania z programu Word

Automatyzowanie programu Word za pomocą obiektów rozszerzonych

Formant zakładki

Parametry opcjonalne w rozwiązaniach Office

Inne zasoby

Dostosowywanie interfejsu użytkownika pakietu Office