Author |
Topic |
|
mishgam
Russia
2 Posts |
Posted - 10/04/2007 : 08:48:28
|
Суть вопроса Шейп А находится поверх Шейпа B. При перетаскивании шейпа A на шейп C необходимо создать новый шейп типа А.мастер и нарисовать динамический коннектор между ними типа Стенсил.КоннекторА. |
|
Tumanov
Russia
1198 Posts |
Posted - 10/04/2007 : 16:12:44
|
А в чем вопрос - какое событие обрабатывать или как вообще подступиться? Событие наверное CellChanged или FormulaChanged. Это если Вам обязательно надо шейп перетаскивать. А если можно его дублировать (старый шейп остается на месте), то может лучше воспользоваться ShapeAdded - меньше фильтров ставить надо. Можно представить и другой вариант - перетаскивать не весь шейп, а только управляющую точку от него. Тогда вообще все удобства. Вы получите и координаты управляющей точки (где надо нарисовать новый шейп) и старый шейп останется на месте (вычислите его координаты, сможете определить, кто под ним, а потом сотрете). А для определения события, к которому надо цепляться, удобно использовать EventMonitor (из состава Visio SDK). Запускаете его и смотрите, какие события происходят в Visio при нужном действии оператора. |
|
|
mishgam
Russia
2 Posts |
Posted - 10/04/2007 : 20:07:11
|
quote: Originally posted by Tumanov
Можно представить и другой вариант - перетаскивать не весь шейп, а только управляющую точку от него. Тогда вообще все удобства. Вы получите и координаты управляющей точки (где надо нарисовать новый шейп) и старый шейп останется на месте (вычислите его координаты, сможете определить, кто под ним, а потом сотрете).
Спасибо, такой вариант я почему-то не предусмотрел, а можно поподробнее про управляющую точку? Вопрос в следующем, можно ли по собитию в ShapeSheet назвачать выполнение макроса с параметром, какой шейп вызвал событие так, как например в Document_ShapeAdded? |
Edited by - mishgam on 10/04/2007 20:08:01 |
|
|
Tumanov
Russia
1198 Posts |
Posted - 10/05/2007 : 15:24:20
|
Вызывайте макрос через CallThis. При этом ссылка на шейп передается автоматически. Управляющая точка - это такая желтенькая штучка, которая используется для ручного управления некоторыми шейпами. Выполните в шейп-листе Insert Section / Controls и Вы ее увидите. По умолчанию появляется в левом нижнем углу шейпа. К ней, например, часто привязывают надписи от шейпов (чтобы их можно было свободно перетаскивать). |
|
|
sars
17 Posts |
Posted - 05/30/2008 : 09:19:06
|
А как привязать надпись к точке управления? |
|
|
sars
17 Posts |
Posted - 05/30/2008 : 13:51:21
|
Предыдущий вопрос снимается. Разобрался :)
Другой вопрос: Можно ли фигуре назначить два тестовых поля и каждое тестовое поле перемещать с помощью точки/маркера управления?
Создать несолько точек/маркеров управления не проблема, а вот как добавить второе тестовое поле не знаю :( Может кто подскажет? |
|
|
|
Topic |
|