ملحق MS Word، إضافة زر ينبثق عند النقر بزر الماوس الأيمن على النص المحدد

StackOverflow https://stackoverflow.com/questions/684438

  •  22-08-2019
  •  | 
  •  

سؤال

أنا أعمل على وظيفة إضافية مشتركة لبرنامج MS Word 2007.أرغب في إضافة زر ينبثق عند النقر بزر الماوس الأيمن على النص المحدد.ويجب أن توضح اللقطة المرفقة ذلك.

حاليًا، يتعين على المستخدم تحديد النص ثم النقر فوق زر في عنصر تحكم مخصص.سيكون الأمر أسهل بكثير إذا تمكن بعد تحديد النص من النقر بزر الماوس الأيمن عليه والضغط على الزر ذي الصلة في النافذة المنبثقة.

alt text

هل كانت مفيدة؟

المحلول 2

وهنا هو كيف يمكن القيام بذلك ...

Microsoft.Office.Core.CommandBar cellbar = diff.CommandBars["Text"];
Microsoft.Office.Core.CommandBarButton button = (Microsoft.Office.Core.CommandBarButton)cellbar.FindControl(Microsoft.Office.Core.MsoControlType.msoControlButton, 0, "MYRIGHTCLICKMENU", Missing.Value, Missing.Value);
if (button == null)
{
   // add the button
   button = (Microsoft.Office.Core.CommandBarButton)cellbar.Controls.Add(Microsoft.Office.Core.MsoControlType.msoControlButton, Missing.Value, Missing.Value, cellbar.Controls.Count + 1, true);
   button.Caption = "My Right Click Menu Item";
   button.BeginGroup = true;
   button.Tag = "MYRIGHTCLICKMENU";
   button.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(MyButton_Click);
}

نصائح أخرى

تحتاج إلى توسيع قائمة السياق الصحيحة.يصف الرابط التالي بالكلمات (بدون كود مصدر) كيف يمكن تحقيق ذلك:

الوظيفة الإضافية المشتركة باستخدام Word

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

حظ سعيد!:)

يحرر:

هل يجب أن تكون قائمة سياق نمط الشريط أم أن الزر الموجود في قائمة السياق العادية سيكون كافيًا؟في حال كانت القائمة العادية على ما يرام، يمكنك استخدام هذه الطريقة (C#):

 Microsoft.Office.Core.CommandBar cb = this.Application.CommandBars["Text"];

 Office.CommandBarControl newButton = cb.Controls.Add(Office.MsoControlType.msoControlButton, missing, missing, missing, missing);  
 newButton.Caption = "Test";
 newButton.Visible = true;
 newButton.Enabled = true;

يمكنك القيام بذلك باستخدام VSTO، لست متأكدًا مما إذا كان يعمل بنفس الطريقة تمامًا مع تقنية الوظائف الإضافية المشتركة، ولكن ربما يكون ذلك مفيدًا؛)

MSDN -

<اقتباس فقرة>   

ولا يمكنك تعديل شريط الأدوات البسيطة برمجيا.

وما يزيد قليلا على نصف الطريق أسفل الوثيقة ابحث عن شريط الأدوات المصغر.

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

<وأ href = "http://groups.google.com/group/microsoft.public.word.docmanagement/browse_thread/thread/cf55d996b3f51a06/65b2bad22e2a3583؟lnk=st&q=Removing+Items+from+Word+2007" يختلط = "نوفولو noreferrer"> http://groups.google.com/group/microsoft.public.word.docmanagement/browse_thread/thread/cf55d996b3f51a06/65b2bad22e2a3583؟lnk=st&q=Removing+Items+from+Word+2007 هو كيف نفعل ذلك في VBA. وهو مشابه جدا باستخدام COM وربما خلق كلمة الإضافية (لم أحاول ذلك على الرغم من) تحتاج أساسا للعثور على السيطرة السياق القائمة وإضافة عنصر إلى ذلك (وظيفة الخاص بك).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top