Помимо работы с контейнерами, списками и выносками в документе, разработчики также могут отвечать на действия пользователей, связанные с этими фигурами. Работа контейнеров, списков и выносок основана на установлении отношений с другими фигурами. При создании или разрыве одного из таких отношений Visio запускает определенное событие. Например, добавление фигуры в контейнер приводит к созданию нового отношения между фигурой и контейнером.
При запуске события отношений Visio указывает сведения о нем в объекте RelatedShapePairEvent. Свойство FromShapeID этого объекта указывает контейнер, список или выноску, участвующую в этом отношении. Свойство ToShapeID указывает другую фигуру, участвующую в этом отношении. Таким образом, при добавлении фигуры в контейнер свойство ToShapeID будет относиться к новой фигуре-участнику. При связывании выноски с целевой фигурой свойство ToShapeID будет относиться к целевой фигуре.
Для списков событий «Приложение», «Документы», «Страницы» и «Страница» (а также для списка событий «Документ» при использовании AddAdvise) доступны следующие события:
ContainerRelationshipAdded
ContainerRelationshipDeleted
CalloutRelationshipAdded
CalloutRelationshipDeleted
Кроме того, теперь событие ShapeChanged запускается при изменении порядка участников фигуры-списка. Событие передает фигуру-список в виде аргумента и включает строку «/ListReorder» в аргумент EventInfo.