最近、余分なリボン、コンテキストメニューなどのためのribbon.xmlファイルを持つOutlookアドインを作成しました。私はまた、私のウィンドウの右側に余分なパネルをドッキングしました。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アドインでどのようにすることができますか?
編集:「しかしAre Task Panes Available in Visio VSTO?
私がすることができます http://msdn.microsoft.com/en-us/library/vstudio/bf08984t.aspx
EDIT2:
は、以下の答えは動作するはず
残念ながら、これは私はそれは不可能だと思わせますメインウィンドウにドッキングされたパネルを取得する方法が見つかったようです。
それは新しい描画であるかのようにこれは、ウィンドウが追加されますGlobals.ThisAddIn.Application.Windows.Add("testpanel", VisWindowStates.visWSDockedLeft, VisWinTypes.visStencilAddon, null, null, null, 300);
...
EDIT3:ここに私が試したものです
Visioは、私が持っていると言って、この上のCOM例外をスローします無効なウィンドウタイプ。 VisioのSDKをダウンロードして、コード・サンプルライブラリを見ると
Application.Windows.Add("testpanel", VisWindowStates.visWSDockedRight, VisWinTypes.visAnchorBarAddon, null, null, 300);
-
完全にするために、あなたは、このMSDNの記事Windows.Add法(Visioを)検討したいと思うかもしれタイプが無効です。それは 'visStencilAddon'以外の何かのためにこれを行います。 –
私はすでにVisio SDKを持っていましたが、明らかにそのコードサンプルを見落としてしまいました、あなたの助けをありがとう –