Форум пользователей Visio http://visio.getbb.ru/ |
|
Как отвязать Controls от размера фигуры http://visio.getbb.ru/viewtopic.php?f=5&t=1325 |
Страница 1 из 1 |
Автор: | vin [ 04 май 2018, 17:34 ] | ||
Заголовок сообщения: | Как отвязать Controls от размера фигуры | ||
Делаю умный динамический коннектор с двумя дополнительными текстовыми полями в начале и в конце. Для этого я взял коннектор, преобразовал его в группу, добавил два текстовых блока. К текстовым полям привязаны ручки управления (Controls). Возьмем для примера левую надпись с ручкой управления. Я хочу добиться такого поведения, чтобы при изменении коннектора ручка (и привязанный к ней блок текста) не отъезжала от начальной точки (BeginX,BeginY). Ручка с встроенным текстом (TextPosition) ведет себя именно так, как я хочу сделать - в ней нет формул, записываются только координаты. Во вновь добавленных ручках присутствуют значения Width и Height. Убрать их не получается, если пишешь значения, а потом передвигаешь ручку, то формулы появляются. Это приводит к тому, что при изменении размера коннектора текст отъезжает в сторону. Я пытался решить эту проблему через SETATREF (для левого блока), но не получается.
|
Автор: | Tumanov [ 04 май 2018, 18:38 ] |
Заголовок сообщения: | Re: Как отвязать Controls от размера фигуры |
Защитить значение через Guard. |
Автор: | vin [ 05 май 2018, 01:52 ] |
Заголовок сообщения: | Re: Как отвязать Controls от размера фигуры |
Не пойдет, в таком случае ручки управления перестанут двигаться. |
Автор: | Tumanov [ 05 май 2018, 11:37 ] | ||
Заголовок сообщения: | Re: Как отвязать Controls от размера фигуры | ||
Тогда не понял... Вот так ведет себя Ваш файл. Текст остается там, куда сдвинута точка. А как нужно? А встроенный текст как раз двигается. Хоть там и записаны не формулы, а координаты, но они вычисляются движком заново при каждом изменении коннектора. (Если задано поведение "пропорционально").
|
Автор: | vin [ 06 май 2018, 00:40 ] |
Заголовок сообщения: | Re: Как отвязать Controls от размера фигуры |
Мне нужно задать поведение, чтобы расстояние по x и по y от начальной точки для левого и от конечной точки для правого блока не менялись. Сейчас они пропорциональны ширине и длине группы. А как отвязаться от этой пропорции - не знаю. Я могу в Controls.TextPositionL и TextPositionR записать значения , но как только я начну двигать ручку - фомула слетит - в нее запишется формула со ссылками на Width и Height группы. И при при изменении длины текст опять начнет отъезжать или приближаться. Защитить ее GUARD я тоже не могу - ручки перестанут двигаться. |
Автор: | nbelyh [ 06 май 2018, 15:29 ] |
Заголовок сообщения: | Re: Как отвязать Controls от размера фигуры |
Убери нафик все формулы, поставь поведение "X Behavior" = 4 (visCtrlOffsetMax), может помочь https://msdn.microsoft.com/en-us/librar ... 67166.aspx |
Автор: | vin [ 07 май 2018, 13:45 ] | ||
Заголовок сообщения: | Re: Как отвязать Controls от размера фигуры | ||
nbelyh Спасибо, частично помогло. Для X Behavior установил 2 (+ скрытие ручки при отсутствии текста). 2 означает, что X будет считаться от левого карая фигуры. Я проверял - левым краем считается Begin X (LocPinX - указывает на центр коннектора). Это при горизонтальном расположении. Но если делаю вертикальное положение коннектора, то смещение по X уже считается Begin X - LocPinX (???????) На анимации я сделал уголок 5х5 мм и показываю этот случай. Не понимаю, почему так работает? Я хочу с помощью макроса подправлять положение надписи, но для этого нужно понять поведение. (примечание - на Y пока не смотрю, на вторую надпись тоже). Вложение: conn2.gif [ 1.79 Mб | Просмотров: 684 ]
|
Страница 1 из 1 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |