Позиция VSTO CommandBarButton
-
21-08-2019 - |
Вопрос
Я пишу надстройку VSTO, чтобы добавить кнопку на стандартную панель инструментов для всех новых почтовых элементов в 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
Любая помощь будет очень признательна!
Спасибо, Джим.
Решение
Я должен был использовать commandBar.AddControl(control, position)
вместо этого синтаксис
Другие советы
в Outlook 2007:
(Office.CommandBarButton)commandBars["Standard"].Controls.Add(Office.MsoControlType.msoControlButton, System.Reflection.Missing.Value, System.Reflection.Missing.Value,2,true);
где 2
это количество позиций.
Не связан с StackOverflow