All Forums
 Категория Visio
 Форум Вопросы и ответы
 SetCustomToolbars в Visio 2010
Author Previous Topic Topic Next Topic  

Robinkzn

84 Posts

Posted - 08/22/2011 :  07:05:28
Запустил вот такой код из Visio SDK 2010. Собственно все понятно, кроме того как привязать к кнопке макрос. Onactions убрали?).
vsoToolbarItem.CmdNum
надо получать для макроса cmdnum?


Public Sub SetCustomToolbarItems_Example()

    Dim vsoUIObject As Visio.UIObject
    Dim vsoToolbarSet As Visio.ToolbarSet
    Dim vsoToolbar As Visio.Toolbar
    Dim vsoToolbarItems As Visio.ToolbarItems
    Dim vsoToolbarItem As Visio.ToolbarItem

    'Get the UIObject object for the copy of the built-in toolbars.
    Set vsoUIObject = Visio.Application.BuiltInToolbars(0)

    'Get the drawing window toolbar sets.
    'NOTE: Use ItemAtID to get the toolbar set.
    'Using vsoUIObject.ToolbarSets(visUIObjSetDrawing) will not work.
    Set vsoToolbarSet = vsoUIObject.ToolbarSets.ItemAtID(visUIObjSetDrawing)

    'Create a new toolbar
    Set vsoToolbar = vsoToolbarSet.Toolbars.Add
    
    With vsoToolbar
        .Caption = "test"
        .Position = visBarFloating
        .Left = 300
        .Top = 200
        
        .Protection = visBarNoHorizontalDock
        .Visible = True
        .Enabled = True
    End With
        
    'Get the ToolbarItems collection.
    Set vsoToolbarItems = vsoToolbar.ToolbarItems

    'Add a new button in the first position.
    Set vsoToolbarItem = vsoToolbarItems.AddAt(0)

    'Set properties for the new toolbar button.
    vsoToolbarItem.CntrlType = visCtrlTypeBUTTON
    vsoToolbarItem.CmdNum = visCmdPanZoom

    'Set the toolbar button icon.
    vsoToolbarItem.IconFileName "path\filename"

    'Use the new custom UI.
    ThisDocument.SetCustomToolbars vsoUIObject

End Sub

Robinkzn

84 Posts

Posted - 08/22/2011 :  17:59:09
Не в ту степь я полез :). Вот нашел тут код, который буду использовать. Прекрасно работает.

Public Sub MenuItem_Add()

Dim uiObj As Visio.UIObject
Dim visMenuSets As Visio.MenuSets
Dim visMenuSet As Visio.MenuSet
Dim visMenus As Visio.Menus
Dim visMenu As Visio.Menu
Dim visMenuItems As Visio.MenuItems
Dim visMenuItem As Visio.MenuItem

Set uiObj = Visio.Application.BuiltInMenus
Set visMenuSets = uiObj.MenuSets
' Get the Visio object context menu set.
Set visMenuSet = visMenuSets.ItemAtID(visUIObjSetDrawing)
Set visMenus = visMenuSet.Menus
' Get the file menu from the menus collection.
Set visMenu = visMenus.Item(0)
' Get the items collection from the file menu
Set visMenuItems = visMenu.MenuItems

' Add Example Menu Item to the File menu in the 4th position
Set visMenuItem = visMenuItems.AddAt(3)
visMenuItem.Caption = "Example"
visMenuItem.State = Visio.visButtonUp

' Have Example run the HelloWorld Sub procedure
visMenuItem.AddOnName = "ThisDocument.HelloWorld"

' Set the new menus.
Visio.Application.SetCustomMenus uiObj
' Tell Visio to use the new UI when the document is active.
ThisDocument.SetCustomMenus uiObj
End Sub
Go to Top of Page
  Previous Topic Topic Next Topic  
Данный сайт является архивом форума visio.artberg.ru, который был закрыт в связи с переходом на новую платформу visio.getbb.ru
Все материалы доступны только для чтения! Если у вас появились вопросы, или вы хотите что-то обсудить, связанное с Visio, обращайтесь на новый форум!
Архив был создан благодаря совместным усилиям Генадия Туманова @Tumanov (visio.artberg.ru), Александра ака @Surrogate (visio.getbb.ru), и Николая Белых @nbelyh (unmanagedvisio.com)