All Forums
 Категория Visio
 Форум Вопросы и ответы
 Работа с меню Визио
Author Previous Topic Topic Next Topic  

eug

Russia
19 Posts

Posted - 05/20/2003 :  14:06:43
Создал в VSD VBA-код, добавляющий меню "Выход" в Визио кот должен закрывать документ. При работе - ошибка - залезает в недопустимую область памяти и обваливает само Визио.
----------------------------------------------------------------------
Dim UIObj As Visio.UIObject, mnSet As Visio.MenuSet, mn As Visio.Menu
Private Sub Document_DocumentOpened(ByVal doc As IVDocument)
Set UIObj = Visio.Application.BuiltInMenus:
Set mnSet = UIObj.MenuSets.ItemAtID(visUIObjSetDrawing)
Set mn = mnSet.Menus.AddAt(0): mn.Caption = "Выход":
mn.AddOnName "Application.DoCmd(visCmdFileClose)"
'me.AddOnName="Me.Close"
'mn.AddOnName "ThisDocument.Close": mn.Enabled=true
ThisDocument.SetCustomMenus UIObj
End Sub
--------------------------------------------
(закоментированные варианты делают меню "Выход" неактивным)
В то же время, добавив конпку CommandButton семейства MSForms 2.0
и навесив на нее Me.Close - получаем корректный выход из рис.
В чем дело?


Багоцкий

Tanuha

Russia
1 Posts

Posted - 10/20/2004 :  22:26:11
У меня очень похожая ситуация.

Такое ощущение, что, в .AddonName должна быть либо команда (DoCmd), либо реальный addon, который есть в коллекции addon-ов приложения. И описываться он должен, как имя exe-файла. Если же в AddonName передается какая-то левая строчка, то он просто дизейблит соответствующий пункт меню :((((

Отсюда вопрос как сделать так, чтобы при нажатии на пункт меню вызывался именно какой-нибудь метод.

Конечно, можно делать меню через CommandBar и навешивать на CommandBarButton обработчик событий, но это очень неудобно...

Может кто-нибудь подскажет, либо как все-таки заставить MenuItem вызывать не только готовые addon-ы, либо как можно сопоставить CommandBarButton конкретному пункту меню, созданному через UIObject.
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)