複数のカスタムツールバー、メニューの作成について |
- 01: 名前:ヨタロウ投稿日:2007/09/06(木) 11:44
- 日ごろから参考にさせていただいてます。
Visio2003、WinXP、VisualStudio2003(C#)で、カスタマイズをしてます。
カスタムツールバーも、メニューも、
すでに1つは、プログラムでつくりだしていますが、
これを、さらに、別のカスタムツールバーを増やしたり、
別メニュー項目を増やしたりできるのでしょうか?
カスタムツールバー自体は、増やせたのですが、
ツールバー上のボタンを押した場合のイベント処理時に、
ActiveDocumentのCustomToolBarが、
旧と新のツールバーの区別がついてないようなので、
新のツールバーが動くときは、旧のツールバーがエラーになってしまいます。
多分プログラムの組み方がおかしいのでしょうが、
どのようにすればよいのか、わからないため、困っている次第です。
ご教授よろしくお願い致します。
- 02: 名前:yoda投稿日:2007/09/06(木) 12:44
- 試してみたことがないのですが、ツールバーやボタンのの名前は
区別しているのでしょうか?
- 03: 名前:ヨタロウ投稿日:2007/09/06(木) 13:14
- ツールバーとボタンのCaption共に、一意のものを設定してあります。
メニューについては、まだ試してませんが、
CustomMenuも、CustomToolbarと同様な気がしますので、
うまくいかない気もします。
- 04: 名前:yoda投稿日:2007/09/06(木) 15:41
- 簡単なプログラムで、ツールバーを二つ作って見ました。
へたくそなので、重なってできてしまいましたが、
それ以外は、問題ないようです。
Option Explicit
Public Sub ToolbarItems_Example()
Dim vsoUIObject As Visio.UIObject
Dim vsoToolbarSet As Visio.ToolbarSet
Dim vsoToolbarItems As Visio.ToolbarItems
Dim vsoToolbarItem As Visio.ToolbarItem
Set vsoUIObject = Visio.Application.BuiltInToolbars(0)
Set vsoToolbarSet = vsoUIObject.ToolbarSets.ItemAtID(visUIObjSetDrawing)
Dim N As Long, I As Long
N = vsoToolbarSet.Toolbars.Count
vsoToolbarSet.Toolbars.Add
N = vsoToolbarSet.Toolbars.Count
Set vsoToolbarItems = vsoToolbarSet.Toolbars(N - 1).ToolbarItems
Set vsoToolbarItem = vsoToolbarItems.AddAt(0)
vsoToolbarItem.CntrlType = visCtrlTypeBUTTON
vsoToolbarItem.CmdNum = visCmdPanZoom
vsoToolbarItem.FaceID = 100
vsoToolbarSet.Toolbars.Add
Set vsoToolbarItems = vsoToolbarSet.Toolbars(N).ToolbarItems
Set vsoToolbarItem = vsoToolbarItems.AddAt(0)
vsoToolbarItem.CntrlType = visCtrlTypeBUTTON
vsoToolbarItem.CmdNum = visCmdCustProp
vsoToolbarItem.FaceID = 200
ThisDocument.SetCustomToolbars vsoUIObject
End Sub
- 05: 名前:ヨタロウ投稿日:2007/09/26(水) 17:48
- yoda様
お世話になります。
遅くなりましたが、上記のプログラムをヒントに、
実現解が見つかりました。
ありがとうございました。
|
|