2013-03-20 28 views
5

Gần đây tôi đã viết một bổ trợ outlook trong đó có một tập tin ribbon.xml cho một ribbon thêm, menu ngữ cảnh, vv Tôi cũng đã thêm một bảng điều khiển phụ docked ở bên phải của cửa sổ của tôi.Làm cách nào bạn có thể thêm Bảng điều khiển tùy chỉnh trong một bổ trợ Visio 2013?

Bây giờ tôi đã bắt đầu một số nghiên cứu về cách tạo bổ trợ cho Visio. Ribbon.xml là thực tế giống nhau, do đó, đó không phải là một vấn đề gì cả. Tuy nhiên, tôi dường như không thể tìm thấy bất kỳ cách nào để thêm bảng tùy chỉnh khi tài liệu Visio được mở.

Cho đến nay tôi có điều này trong Visio biết nếu một tài liệu được mở ra/tạo/thay đổi:

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

Trong triển vọng tôi sẽ làm điều này để thêm một bảng điều khiển tùy chỉnh (giản thể):

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; 

Bây giờ, làm cách nào để tôi có thể thực hiện việc này trong Trình bổ sung Visio 2013?

Edit:

Đáng tiếc là điều này làm cho tôi nghĩ rằng nó không thể xảy ra: http://msdn.microsoft.com/en-us/library/vstudio/bf08984t.aspx

Edit2:

Câu trả lời sau đây nên làm việc: Are Task Panes Available in Visio VSTO?

Tuy nhiên tôi có thể' t dường như tìm cách để có được một bảng neo trên cửa sổ chính của tôi. Đây là những gì tôi đã cố gắng:

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

này thêm cửa sổ như thể nó là một bản vẽ mới ...

Edit3:

Visio ném một ngoại lệ COM trên này nói rằng tôi có một loại cửa sổ không hợp lệ.

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

Trả lời

2

Bạn có thể sử dụng Neo Bars trong Visio, không Task Panes Nếu bạn tải về Visio SDK và tìm kiếm trong Codes Mẫu Thư viện, bạn sẽ tìm thấy Neo Bar Cách sử dụng dưới giao diện người dùng.

Để hoàn chỉnh, bạn có thể muốn xem lại bài viết này MSDN Windows.Add Method (Visio) - http://msdn.microsoft.com/en-us/library/office/ff767674.aspx

+0

Nếu tôi cố gắng mã từ mẫu mã cuối cùng của tôi với 'visAnchorBarAddon' Visio ném cho tôi một ngoại lệ COM nói cửa sổ loại không hợp lệ. Nó làm điều này cho bất cứ điều gì ngoại trừ 'visStencilAddon'. Tôi sẽ chỉnh sửa bài đăng của mình để hiển thị những gì tôi đã thử –

+0

Tôi đã có SDK Visio nhưng dường như đã bỏ qua mẫu mã đó, cảm ơn sự giúp đỡ của bạn –

Các vấn đề liên quan