2013-03-20 22 views
5

Son zamanlarda ekstra bir şerit, içerik menüsü, vb. Için bir ribbon.xml dosyasına sahip bir görünüm eklentisi yazdım. Ayrıca penceremin sağ tarafına yerleştirilmiş ekstra bir panel ekledim.Visio 2013 eklentisinde Özel Panel nasıl eklenir?

Artık Visio için eklenti oluşturma konusunda bazı araştırmalara başladım. Ribbon.xml hemen hemen aynı, bu yüzden sorun değil. Ancak, bir Visio belgesi açıldığında özel bir panel eklemenin herhangi bir yolunu bulamıyorum.

Şimdiye kadar bir doküman oluşturulur/açılırsa bilmek Visio bu var/değiştirdi:

Özel bir paneli (basitleştirilmiş) eklemek için bu yapacağını görünüm itibarıyla
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; 

Şimdi bunu Visio 2013 Eklentisinde nasıl yapabilirim?

Düzenleme: 'Ancak Are Task Panes Available in Visio VSTO?

ben yapabilirsiniz: http://msdn.microsoft.com/en-us/library/vstudio/bf08984t.aspx

Edit2:

aşağıdaki cevabı çalışması gerekir

Ne yazık ki bu beni bu mümkün değil düşündürüyor Ana penceremde yuvalanmış bir panel almanın bir yolunu bulmak gibi görünüyor.

yeni bir çizim sanki bu pencereyi ekleyen
Globals.ThisAddIn.Application.Windows.Add("testpanel", VisWindowStates.visWSDockedLeft, VisWinTypes.visStencilAddon, null, null, null, 300); 

...

Edit3: Burada denedim budur

Visio Bir var diyerek bu konuda bir COM özel durum atar geçersiz pencere tipi. Visio SDK'yı indirmek ve Kodlar Örneklerinin Kütüphane bakarsanız

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

cevap

2

Visio içinde Çapa Bars kullanabilirsiniz değil, Görev Bölmeleri , Kullanıcı Arabirimi altında Çapa Bar Kullanımı bulacaksınız. Ben `benim son kod örneğinden kodu denerseniz visAnchorBarAddon` Visio bana pencere söyleyerek bir COM istisna atar http://msdn.microsoft.com/en-us/library/office/ff767674.aspx

+0

-

tamlığı için, bu MSDN makalesine Windows.Add Yöntemi (Visio) incelemek isteyebilirsiniz türü geçersiz. Bunu, visStencilAddon hariç her şey için yapar. Ne zaman denediğimi göstermek için postamı düzenleyeceğim –

+0

Ben zaten Visio SDK vardı ama görünüşe göre bu kod örneği gözardı, yardımlarınız için teşekkürler –

İlgili konular