2012-09-25 18 views
5

Este es el complemento VS2010 + Office 2010. Todo lo que quiero es agregar un botón (o grupo de botones) a múltiples pestañas incorporadas. Por ejemplo, mis botones deberían estar disponibles tanto en New Mail Message Ribbon como en New Appointment Ribbon. He intentado agregar una nueva pestaña (en el Visual Designer) pero parece que no funciona. El grupo de botones aparece en la pestaña Mensaje de correo nuevo, pero no en la pestaña Cita. Por cierto, estoy usando los siguientes ID: TabNewMailMessage y TabAppointment.¿Cómo agregar un grupo a múltiples pestañas integradas de la cinta (vsto)?

Respuesta

4

Para cualquier otra persona tirándose de los pelos de esto, la única manera pude ver a mi grupo en tanto Designación y correo nuevo pestañas mensaje ha sido agregando una cinta para cada pestaña incorporada, y luego copiar/pegar toda la interfaz de usuario y el código de una cinta a la otra. Asegúrese de elegir el RibbonType adecuado (una propiedad de su Ribbon) para cada pestaña incorporada.

+0

suena bien :) – Tangocoder

0

No tengo Outlook, pero he utilizado lo siguiente en Word/Excel/PPT, así que espero que funcione también en Outlook (¡no probado!).

Intente agregar un elemento de Cinta (XML) y luego agregue las dos pestañas con un botón que se ve igual y llama al mismo código pero con diferentes ID.

XML:

<tab idMso="TabNewMailMessage"> 
    <group id="MyGroup1" label="My Group1"> 
     <button id="myButton1" label="Button 1" size="large" onAction="ButtonOnAction" /> 
    </group> 
</tab> 
<tab idMso="TabAppointment"> 
    <group id="MyGroup2" label="My Group2"> 
     <button id="myButton2" label="Button 2" size="large" onAction="ButtonOnAction" /> 
    </group> 
</tab> 

C#:

public void ButtonOnAction(IRibbonControl control) 
    { 
     switch (control.Id) 
     { 
      case "myButton1": 
      case "myButton2": 
       // do something 
       Console.Out.WriteLine("Button ID: {0}", control.Id); 
       break; 
     } 
    } 
+0

Gracias Olle. Yo también esperaba que eso funcionara, pero lamentablemente no funciona. Mi idea es que probablemente sea porque Mail Compose and Appointment son dos inspectores diferentes y, por lo tanto, deben seleccionarse en la propiedad RibbonType de Ribbon. Incluso traté de seleccionar múltiples tipos de cintas allí, pero eso tampoco funciona. La única forma en que funcionó para mí fue agregar un nuevo Ribbon. Ver mi respuesta a continuación. – dotNET

+0

OK, ¡genial que hayas encontrado y publicado la respuesta! –

+0

El usuario @magicnumber obtuvo la respuesta al trabajar estableciendo 'ButtonOnAction' en' public' - ¡gracias por la actualización! –

0

Al igual que en la respuesta anterior pero sin utilizar XML, puede hacer que el grupo se encuentre en dos ubicaciones diferentes y agregue una segunda pestaña.

En el Diseñador de cintas, agregue una segunda pestaña a la cinta y cambie el ID de control a la segunda ubicación que le gustaría ver a su grupo. A continuación, haga clic derecho en el grupo en la pestaña original y haga clic en copiar. Haga clic de nuevo en la nueva pestaña y pegue el grupo allí. Copiará todo lo que ya está en el grupo. Sin embargo, tendrá que volver a agregar los eventos. Pero para mí simplemente reutilicé los eventos ya creados y funciona perfectamente. ACLAMACIONES.

Cuestiones relacionadas