VSTO CommandBarButton позиция - PullRequest
0 голосов
/ 12 мая 2009

Я пишу надстройку VSTO для добавления кнопки стандартной панели инструментов для всех новых MailItems в Outlook 2003.

У меня это в основном закончено, но я не могу понять, как установить положение кнопки на панели задач - в идеале я бы хотел разместить ее прямо рядом с кнопкой Отправить.

Вот код, который у меня есть.

Private Sub colInsp_NewInspector(ByVal Inspector As Microsoft.Office.Interop.Outlook.Inspector) Handles colInsp.NewInspector
    Dim msg As Outlook.MailItem
    Dim commandBar As Office.CommandBar
    Dim encryptButton As Office.CommandBarButton
    Dim olkitem As Object
    olkitem = Me.ActiveInspector().CurrentItem

    If TypeOf Inspector.CurrentItem Is Outlook.MailItem Then
        msg = CType(Inspector.CurrentItem, Outlook.MailItem)
        commandBar = Inspector.CommandBars("Standard")
        encryptButton = commandBar.FindControl(Tag:="EncryptMail")
        If Not (encryptButton Is Nothing) Then
            encryptButton.Delete()
        End If
        encryptButton = CType(commandBar.Controls.Add(1), Office.CommandBarButton)
        encryptButton.Style = Office.MsoButtonStyle.msoButtonIconAndCaption
        encryptButton.FaceId = 718
        encryptButton.Caption = "Secure Email"
        encryptButton.Tag = "EncryptMail"
        If olkitem.Sensitivity = Outlook.OlSensitivity.olConfidential Then
            encryptButton.State = Office.MsoButtonState.msoButtonDown
        End If
        AddHandler encryptButton.Click, AddressOf encryptButton_Click
        msg = Nothing
    End If
End Sub

Любая помощь будет принята с благодарностью!

Спасибо, Джим.

Ответы [ 2 ]

1 голос
/ 13 мая 2009

Я должен был использовать синтаксис commandBar.AddControl(control, position) вместо

0 голосов
/ 15 августа 2014

в Outlook 2007:

(Office.CommandBarButton)commandBars["Standard"].Controls.Add(Office.MsoControlType.msoControlButton, System.Reflection.Missing.Value, System.Reflection.Missing.Value,2,true);

, где 2 - количество позиций.

...