Недавно я написал надстройку надстройки, в которой есть файл ribbon.xml для дополнительной ленты, контекстного меню и т. Д. Я также добавил дополнительную панель, прикрепленную справа от моего окна.Как добавить пользовательскую панель в надстройку Visio 2013?
Теперь я начал некоторые исследования как о создании надстроек для Visio. Ribbon.xml практически то же самое, так что это не проблема вообще. Тем не менее, я не могу найти способ добавить пользовательскую панель при открытии документа Visio.
До сих пор у меня есть это в Visio, чтобы знать, если документ открыт/создан/изменен:
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
MessageBox.Show("Visio Add-In V1");
Globals.ThisAddIn.Application.DocumentChanged += new Visio.EApplication_DocumentChangedEventHandler(docChanged);
Globals.ThisAddIn.Application.DocumentOpened += new Visio.EApplication_DocumentOpenedEventHandler(docChanged);
Globals.ThisAddIn.Application.DocumentCreated += new Visio.EApplication_DocumentCreatedEventHandler(docChanged);
}
private void docChanged(Visio.Document doc)
{
MessageBox.Show("Document loaded");
}
В перспективе я хотел бы сделать это, чтобы добавить пользовательскую панель (упрощенный):
MyPanel ctrl = new MyPanel();
Microsoft.Office.Tools.CustomTaskPane ctp = Globals.ThisAddIn.CustomTaskPanes.Add(ctrl, title);
ctp.Visible = true;
ctp.Width = 300;
ctp.DockPosition = Microsoft.Office.Core.MsoCTPDockPosition.msoCTPDockPositionRight;
Теперь, как я смогу сделать это в надстройке Visio 2013?
Edit:
К сожалению, это заставляет меня думать, что это невозможно: http://msdn.microsoft.com/en-us/library/vstudio/bf08984t.aspx
Edit2:
Следующий ответ должен работать: Are Task Panes Available in Visio VSTO?
Однако я могу» t, похоже, найти способ получить пристыкованную панель в моем главном окне. Вот то, что я пробовал:
Globals.ThisAddIn.Application.Windows.Add("testpanel", VisWindowStates.visWSDockedLeft, VisWinTypes.visStencilAddon, null, null, null, 300);
Это добавляет в окно, как если бы это был новый рисунок ...
Edit3:
Визио бросает COM исключение на это высказывание у меня есть недопустимый тип окна.
Application.Windows.Add("testpanel", VisWindowStates.visWSDockedRight, VisWinTypes.visAnchorBarAddon, null, null, 300);
Если я пытаюсь код из моего последнего образца кода с 'visAnchorBarAddon' Визио бросает мне COM исключение, говоря окно тип недопустим. Он делает это для чего угодно, кроме 'visStencilAddon'. Я отредактирую свой пост, чтобы показать, что я пробовал –
У меня уже был Visio SDK, но, по-видимому, он пропустил этот образец кода, спасибо за вашу помощь –