All Forums
 Категория Visio
 Форум Вопросы и ответы
 Событие при присоединении коннектора к точке соед.
Author Previous Topic Topic Next Topic  

yabes

39 Posts

Posted - 12/27/2009 :  06:10:34
Доброго утра всем! Вопрос такой: можно ли описать событие в момент присоединения одного коннектора к точке соединения (ТС)? У меня следующая ситуация: У меня есть 3 типа коннекторов. коннектор более низкого уровня может присоединяться только к точке соединения на коннекторе более высокого уровня, а коннектор с самого высокого уровня только к точке соединения шейпа! Эти коннекторы я описал в Шаблоне (создал параметр TYPE). Хотелось бы чтобы в момент присоединения одного коннектора к ТС другого начиналась транзакция, в которой проверялись соответствия типов и в неверном случае происходил откат транзакции. Подскажите пожалуйста как это сделать!

Tumanov

Russia
1198 Posts

Posted - 12/27/2009 :  08:09:11
Нужно обрабатывать событие ConnectionsAdded.
Оно присутствует у объектов Page, Document и Application.
Обработчику передается объект Connects, по которому можно вычислить соединившиеся шейпы.
Вот примерчик, в котором обрабатываются события страницы:
Dim WithEvents pg As Visio.Page
Sub ttt()
    Set pg = ActivePage
End Sub
Private Sub pg_ConnectionsAdded(ByVal Connects As IVConnects)
    Debug.Print Connects.FromSheet, Connects.ToSheet
End Sub

Для включения обработчика использован макрос ttt. Можно эту операцию делать, например, в обработчике открытия документа или в другом удобном месте.
А собственно обработчик - pg_ConnectionsAdded.
В данном случае он выводит в окно Immediate:
Dynamic connector - имя коннектора,
Sheet.1 - имя шейпа, к которому подключился коннектор.
Go to Top of Page

yabes

39 Posts

Posted - 01/18/2010 :  11:46:10
quote:
Originally posted by Tumanov

Нужно обрабатывать событие ConnectionsAdded.
Оно присутствует у объектов Page, Document и Application.
Обработчику передается объект Connects, по которому можно вычислить соединившиеся шейпы.
Вот примерчик, в котором обрабатываются события страницы:
Dim WithEvents pg As Visio.Page
Sub ttt()
    Set pg = ActivePage
End Sub
Private Sub pg_ConnectionsAdded(ByVal Connects As IVConnects)
    Debug.Print Connects.FromSheet, Connects.ToSheet
End Sub

Для включения обработчика использован макрос ttt. Можно эту операцию делать, например, в обработчике открытия документа или в другом удобном месте.
А собственно обработчик - pg_ConnectionsAdded.
В данном случае он выводит в окно Immediate:
Dynamic connector - имя коннектора,
Sheet.1 - имя шейпа, к которому подключился коннектор.


Спасибо, я попробую разобраться!!!!
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)