2013-03-20 35 views
5

Ostatnio napisałem dodatek do programu Outlook, który ma plik ribbon.xml dla dodatkowej wstążki, menu kontekstowego itp. Dodałem także dodatkowy panel umieszczony po prawej stronie mojego okna.Jak dodać panel niestandardowy do dodatku Visio 2013?

Teraz rozpocząłem badania nad sposobem tworzenia dodatków do Visio. Plik ribbon.xml jest praktycznie taki sam, więc nie stanowi to żadnego problemu. Jednak nie mogę znaleźć sposobu na dodanie niestandardowego panelu po otwarciu dokumentu Visio.

tej pory mam to w Visio, aby wiedzieć, czy dokument jest otwierany/utworzone/zmienione:

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"); 
} 

W perspektyw chciałbym to zrobić, aby dodać panel niestandardowy (uproszczony):

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; 

Jak mogę to zrobić w dodatku do programu Visio 2013?

Edit:

niestety kojarzy mi się to niemożliwe: http://msdn.microsoft.com/en-us/library/vstudio/bf08984t.aspx

Edit2:

Poniższa odpowiedź powinna działać: Are Task Panes Available in Visio VSTO?

Jednak mogę” Wygląda na to, że znalazłem sposób na umieszczenie zadokowanego panelu w moim głównym oknie. Oto, co starałem:

Globals.ThisAddIn.Application.Windows.Add("testpanel", VisWindowStates.visWSDockedLeft, VisWinTypes.visStencilAddon, null, null, null, 300); 

Dodaje to okno, jak gdyby był nowy rysunek ...

Edit3:

Visio zgłasza wyjątek COM na ten temat mówiąc Mam nieprawidłowy typ okna.

Application.Windows.Add("testpanel", VisWindowStates.visWSDockedRight, VisWinTypes.visAnchorBarAddon, null, null, 300); 

Odpowiedz

2

Można użyć Kotwica Bary w Visio, nie Task Szyby Jeśli pobrać Visio SDK i patrzeć w kodach Próbki Biblioteki znajdziesz Anchor Bar Wykorzystanie mocy interfejsu użytkownika.

Dla kompletności, można chcieć przejrzeć ten artykuł MSDN Windows.Add Method (Visio) - http://msdn.microsoft.com/en-us/library/office/ff767674.aspx

+0

Gdy próbuję kod z mojej ostatniej próbki kodu z 'visAnchorBarAddon' Visio rzuca mi wyjątek mówiący COM okno typ jest nieprawidłowy. Robi to dla czegokolwiek oprócz 'visStencilAddon'. Będę edytować mój post, aby pokazać, co próbowałem. –

+0

Już miałem SDK Visio, ale najwyraźniej przeoczyłem ten przykład kodu, dzięki za twoją pomoc –

Powiązane problemy