All Forums
 Категория Visio
 Форум Вопросы и ответы
 Связь между страницами
Author Previous Topic Topic Next Topic  

bigfoot_rusles

Russia
4 Posts

Posted - 09/06/2007 :  10:49:19
Как связать объекты на двух страницах, чтобы при нажатии на объект на первой странице открывалась другая (как в шаблоне "Учёт компьютерного оборудования)???

Tumanov

Russia
1198 Posts

Posted - 09/06/2007 :  21:04:07
А Вам обязательно нужно при нажатии? Двойной клик не подойдет?
Обычно такие вещи делаются по двойному клику. Для этого в Format / Bahavior на вкладке Double-Click ставится галочка в Go to page и выбирается нужная страница.
А по одиночному клику Вам придется либо отлавливать событие SelectionChanged, либо работать с мышиными событиями.
Здесь механизм будет сложнее.
Можно учесть, что при нажатии на шейп он селектируется и обрабатывать событие SelectionChanged.
Пишем обработчик
Private Sub Win_SelectionChanged(ByVal Window As IVWindow)
If Window.Selection.Count > 0 Then
...
End If
End Sub
Вместо многоточия нужно подставить код, который прочитает из какой-то ячейки (например из Custom Properties шейпа) имя страницы для перехода и выполнит собственно переход. А предварительно еще и проверит, относится ли селектированный шейп к тем, с которого следует осуществляеть переход.
Но этот обработчик сразу не заработает. Предварительно нужно объявить окно WithEvents. А при открыти документа или отдельным макросом связать объявленный win с активным окном, типа вот так:
Dim WithEvents Win As Window
Sub ttt()
Set Win = ActiveWindow
End Sub
Если сначала выполнить макрос ttt, то после этого начнет срабатывать Win_SelectionChanged и щелчок по шейпу будет вызывать переход на другую страницу.
Go to Top of Page

bigfoot_rusles

Russia
4 Posts

Posted - 09/07/2007 :  05:49:59
А как это в этом грёбаном шаблоне выполнено? В контекстном меню объёкта есть строка со значком связи, по ней выполняется переход на др. страницу.
...
Попробовал поучить шейпы "примерному поведению" - почти то что надо. А будет это на др. машине работать?

Edited by - bigfoot_rusles on 09/07/2007 05:54:06
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 09/07/2007 :  07:40:56
Так бы сразу и говорили :)
Это ведь не клик, а контекстное меню. Оно добавляется через Insert / Hyperlink. В формочке будет возможность выбрать нужную страницу.
Go to Top of Page

bigfoot_rusles

Russia
4 Posts

Posted - 09/07/2007 :  08:30:06
Спасибо! Где хоть что нибудь по V2007 найтить? Кроме конечно встроенного хелпа?
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)