مشاركة عبر


الإرشادات التفصيلية: إنشاء قوائم مختصرة للإشارات المرجعية

ينطبق على

تنطبق المعلومات الموجودة في هذا الموضوع فقط على أنواع المشاريع وإصدارات Microsoft Office التالية: لمزيد من المعلومات، راجع الميزات المتوفرة بواسطة تطبيقات Office و نوع المشروع.

نوع المشروع

  • مشروعات على مستوى المستند

إصدار Microsoft Office

  • Word 2007

  • Word 2010

توضح هذه الإرشادات التفصيلية كيفية إنشاء قوائم مختصرة لعناصر تحكم Bookmark في تخصيص على مستوى المستند لـ Word. عند قيام مستخدم بالنقر بزر الماوس الأيمن فوق النص في إشارة مرجعية، تظهر قائمة مختصرة وتوفر خيارات المستخدم لتنسيق النص.

توضح هذه الإرشادات التفصيلية المهام التالية:

  • إضافة نص وإشارة مرجعية للمستند في مشروع على مستوى المستند في وقت التصميم.

  • إنشاء قائمة اختصار.

  • التحقق من تراكب الإشارات المرجعية.

ملاحظة

قد يعرض جهاز الكمبيوتر الخاص بك أسماء أو مواقع مختلفة لبعض عناصر واجهة مستخدم Visual Studio في الإرشادات التالية. يحدد كل من إصدار Visual Studio لديك والإعدادات المستخدمة هذه العناصر. لمزيد من المعلومات، راجع العمل مع إعدادات.

المتطلبات الأساسية

تحتاج إلى المكونات التالية لاستكمال هذه الإرشادات التفصيلية:

-

إصدار لـ Visual Studio 2010 يشمل أدوات مطوري Microsoft Office. لمزيد من المعلومات، راجع [تكوين كمبيوتر لتطوير حلول Office](bb398242\(v=vs.100\).md).
  • Microsoft Office Word 2007 أو Word 2010. :

إنشاء المشروع

الخطوة الأولى هى إنشاء مشروع مستند Word في Visual Studio.

لإنشاء أحد المشروعات الجديدة

  • تشغيل علامة .NET التبويب، تحديد Microsoft.VisualStudio.أدوات.Applicatiتشغيلs.ServerDocument (إذا كانت تستهدف مشروع DataWriter ) أو Microsoft.VisualStudio.أدوات.Applicatiتشغيلs.ServerDocument.v10.0 (إذا كان تستهدف مشروع DataWriter 3.5 إطار عمل.NET). في المعالج، حدد إنشاء مستند جديد . لمزيد من المعلومات، راجع كيفية القيام بما يلي: إنشاء مشاريع Office في Visual Studio.

    يفتح Visual Studio مستند Word جديد في المصمم ويقوم بإضافة المشروع قائمة الإشارات المرجعية المختصرة إلى مستكشف الحلول.

إضافة نص وإشارات مرجعية إلى المستند

قم بإضافة نص إلى مستندك ثم إضافة إشاراتين مرجعيتين متراكبتين.

لإضافة النص إلى المستند الخاص بك

  • اكتب النص التالي.

    هذا مثال على إنشاء قائمة مختصرة عند النقر بزر الماوس الأيمن فوق النص الموجود في إشارة مرجعية.

لإضافة عنصر تحكم إشارة مرجعية إلى مستندك

  1. من علامة التبويب عناصر تحكم Word من مربع الأدوات، اسحب عنصر تحكم Bookmark إلى مستندك.

    يظهر مربع الحوار إضافة عنصر تحكم الإشارة المرجعية.

  2. حدد الكلمات إنشاء قائمة مختصرة عند النقر بزر الماوس الأيمن فوق النص ثم انقر فوق موافق.

    يتم إضافة bookmark1 إلى المستند.

  3. قم بإضافة عنصر تحكم Bookmark آخر إلى الكلمات انقر بزر الماوس الأيمن فوق النص الموجود في إشارة مرجعية.

    يتم إضافة bookmark2 إلى المستند.

    ملاحظة

    الكلمات انقر بزر الماوس الأيمن فوق النص هى في كل من bookmark1 وbookmark2.

عندما تقوم بإضافة إشارة مرجعية إلى مستند في وقت التصميم، يتم إنشاء عنصر تحكم Bookmark. يمكنك البرمجة مقابل عدة أحداث للإشارة المرجعية. يمكنك كتابة تعليمات برمجية في الحدث BeforeRightClick الخاص بالإشارة المرجعية بحيث تظهر قائمة مختصرة عند نقر المستخدم بزر الماوس الأيمن فوق النص الموجود في الإشارة المرجعية.

إنشاء القائمة القصيرة

لإنشاء القائمة المختصرة

  1. في مستكشف الحلول، انقر على زر الماوس الأيمن فوق ThisDocument، ثم انقر فوق عرض التعليمات البرمجية.

  2. قم بالتصريح بالمتغيرات CommandBar و بمتغير إشارة مرجعية على مستوى الفئة.

    Private commandBar As Office.CommandBar
    Private selectedBookmark As Microsoft.Office.Tools.Word.Bookmark
    WithEvents boldText As Office.CommandBarButton
    WithEvents ItalicText As Office.CommandBarButton
    
    private Office.CommandBar commandBar;
    private Office.CommandBarButton boldText;
    private Office.CommandBarButton italicText;
    private Microsoft.Office.Tools.Word.Bookmark selectedBookmark;
    
    const int WordTrue = -1;
    const int WordFalse = 0;
    
  3. قم بإضافة أسلوب لإنشاء القائمة.

    Private Sub AddPopUp()
    
        commandBar = Application.CommandBars.Add( _
            "FormatText", Office.MsoBarPosition.msoBarPopup, , True)
    
        ' Add a button and set the style, caption, icon and tag.
        boldText = CType(commandBar.Controls.Add(1), Office.CommandBarButton)
    
        With boldText
            .Style = Office.MsoButtonStyle.msoButtonIconAndCaption
            .Caption = "Bold"
            .FaceId = 113
            .Tag = "0"
        End With
    
        ' Add a button and set the style, caption, icon and tag.
        ItalicText = CType(commandBar.Controls.Add(1), Office.CommandBarButton)
    
        With ItalicText
            .Style = Office.MsoButtonStyle.msoButtonIconAndCaption
            .Caption = "Italic"
            .FaceId = 114
            .Tag = "1"
        End With
    
        CType(Me.AttachedTemplate, Microsoft.Office.Interop.Word.Template).Saved = True
    
    End Sub
    
    private void AddPopUp()
    {
        commandBar = Application.CommandBars.Add("FormatText",
            Office.MsoBarPosition.msoBarPopup, missing, true);
    
        // Add a button and set the style, caption, icon and tag.
        boldText = (Office.CommandBarButton)commandBar.Controls.Add(
            1, missing, missing, missing, missing);
    
        boldText.Style = Office.MsoButtonStyle.msoButtonCaption;
        boldText.Caption = "Bold";
        boldText.FaceId = 113;
        boldText.Tag = "0";
    
        // Add a button and set the style, caption, icon and tag.
        italicText = (Office.CommandBarButton)commandBar.Controls.Add(
            1, missing, missing, missing, missing);
    
        italicText.Style = Office.MsoButtonStyle.msoButtonCaption;
        italicText.Caption = "Italic";
        italicText.FaceId = 114;
        italicText.Tag = "1";
    
        // Handle the click events with the ButtonClick procedure.
        boldText.Click +=
            new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(ButtonClick);
    
        italicText.Click +=
            new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(ButtonClick);
    
        ((Microsoft.Office.Interop.Word.Template)this.AttachedTemplate).Saved = true;
    }
    
  4. قم باستدعاء AddPopup من الحدث Startup من ThisDocument.

    Private Sub ThisDocument_Startup(ByVal sender As Object, ByVal e As _
        System.EventArgs) Handles Me.Startup
    
        AddPopUp()
    End Sub
    
    private void ThisDocument_Startup(object sender, System.EventArgs e)
    {
        AddPopUp();
    }
    

لتنسيق النص في الإشارة المرجعية

  1. قم بإضافة معالج الأحداث ButtonClick لتطبيق التنسيق إلى الإشارة المرجعية.

    Private Sub ButtonClick(ByVal ctrl As Office.CommandBarButton, _
        ByRef Cancel As Boolean) Handles boldText.Click, ItalicText.Click
    
        Select Case ctrl.Caption
            Case "Bold"
                selectedBookmark.Bold = Not selectedBookmark.Bold
            Case "Italic"
                selectedBookmark.Italic = Not selectedBookmark.Italic
        End Select
    
        Me.ActiveWindow.SetFocus()
    End Sub
    
    private void ButtonClick(Microsoft.Office.Core.CommandBarButton Ctrl,
        ref bool CancelDefault)
    {
        if (Ctrl.Caption == "Bold")
        {
            if (selectedBookmark.Bold == WordTrue)
            {
                selectedBookmark.Bold = WordFalse;
            }
            else
            {
                selectedBookmark.Bold = WordTrue;
            }
        }
        else if (Ctrl.Caption == "Italic")
        {
            if (selectedBookmark.Italic == WordTrue)
            {
                selectedBookmark.Italic = WordFalse;
            }
            else
            {
                selectedBookmark.Italic = WordTrue;
            }
        }
    }
    
  2. قم بإضافة معالج الحدث showPopupMenu لمعالجة الحدث BeforeRightClick لكل من الإشاراتين المرجعيتين.

    ملاحظة

    يجب أن تقوم بكتابة تعليمات برمجية لمعالجة الحالة عندما تتراكب الإشارات المرجعية. إذا لم تقم بذلك، فافتراضيًا، سيتم استدعاء التعليمات البرمجية لكافة الإشارات المرجعية في التحديد.

    Private Sub showPopupMenu(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 popup.
        If DirectCast(sender, Microsoft.Office.Tools.Word.Bookmark).Start = _
            startPosition Then
            selectedBookmark = DirectCast(sender, Microsoft.Office.Tools.Word.Bookmark)
            commandBar.ShowPopup()
            e.Cancel = True
        End If
    End Sub
    
    private void ShowPopupMenu(object sender,
        Microsoft.Office.Tools.Word.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 the popup.
        if (((Microsoft.Office.Tools.Word.Bookmark)sender).Start == startPosition)
        {
            selectedBookmark = (Microsoft.Office.Tools.Word.Bookmark)sender;
            commandBar.ShowPopup(missing, missing);
            e.Cancel = true;
        }
    }
    
  3. في #C، يجب عليك إضافة معالجات أحداث لعناصر تحكم الإشارة المرجعية إلى الحدث Startup. للحصول على معلومات حول إنشاء معالجات أحداث راجع كيفية القيام بما يلي: إنشاء معالجات أحداث في مشاريع Office.

    this.bookmark1.BeforeRightClick +=
        new Microsoft.Office.Tools.Word.ClickEventHandler(ShowPopupMenu);
    
    this.bookmark2.BeforeRightClick +=
        new Microsoft.Office.Tools.Word.ClickEventHandler(ShowPopupMenu);
    

اختبار التطبيق

قم باختبار المستند الخاص بك للتحقق من ظهور عناصر قائمة الغامق والمائل في القائمة المختصرة عندما تنقر بزر الماوس الأيمن فوق نص في إشارة مرجعية ما، ومن تنسيق النص بشكل صحيح.

لاختبار مستندك

  1. اضغط F5 لتشغيل مشروعك.

  2. انقر بزر الماوس الأيمن فوق الإشارة المرجعية الأولى، ثم انقر فوق غامق.

  3. تحقق من أن كافة النص في bookmark1 منسق كغامق.

  4. انقر بزر الماوس الأيمن فوق النص حيث تتراكب الإشارات المرجعية، ثم انقر فوق مائل.

  5. تحقق من أن كافة النص في bookmark2 مائل، و أن جزءاً من النص فقط في bookmark1 التي تتراكب bookmark2 مائل.

الخطوات التالية

هذه بعض المهام التي قد تأتي فيما بعد:

راجع أيضًا:

المبادئ

الإرشادات التفصيلية التي تستخدم Word

أتمتة Word عن طريق استخدام الكائنات الموسعة

عنصر تحكم الإشارة المرجعية

المعلمات الاختيارية في حلول Office

موارد أخرى

تخصيص واجهة Office