Форум пользователей Visio
http://visio.getbb.ru/

Создание сложных фигур с особыми параметрами масштабирования
http://visio.getbb.ru/viewtopic.php?f=6&t=1448
Страница 1 из 5

Автор:  TheHeat [ 19 апр 2019, 17:41 ]
Заголовок сообщения:  Создание сложных фигур с особыми параметрами масштабирования

Стоит задача создать фигуру наподобие таблицы из заголовка и одной ячейки. Хочется чтобы при изменении высоты ячейки высота заголовка не менялась, поэтому группировка не подходит. Кроме того всегда есть вероятность, что кто-то разгруппирует фигуру.
Собираюсь вызывать по даблклику по заголовку макрос, который будет анализировать фигуры внутри ячейки по PinX и PinY. Поэтому важно, чтобы обе фигуры воспринимались как ActiveWindow.Selection.PrimaryItem, чтобы не применять For Each Shape In Shapes для поиска ближайшей к заголовку ячейки.

Автор:  Surrogate [ 19 апр 2019, 17:53 ]
Заголовок сообщения:  Re: Создание сложных фигур с особыми параметрами масштабирования

phpBB [youtube]

можно дать детальное описание, что из себя должна представлять группа ?

Автор:  Евгени [ 19 апр 2019, 18:07 ]
Заголовок сообщения:  Re: Создание сложных фигур с особыми параметрами масштабирования

Воть :? Но такую хитрую фигуру не разгруппируешь ни в жисть :|
phpBB [youtube]

Автор:  TheHeat [ 19 апр 2019, 18:37 ]
Заголовок сообщения:  Re: Создание сложных фигур с особыми параметрами масштабирования

Surrogate писал(а):
можно дать детальное описание, что из себя должна представлять группа ?

Да ничего особенного. Два прямоугольника друг за другом по вертикали либо одна внутри другой по верхнему краю без разницы. В верхний пишу заголовок, а в нижний вставляю фигурки. Нижняя часть меняет размеры по вертикали. Из вышеупомянутого видео посмотрел как создать кастомную заливку в виде заголовка. В принципе такой метод меня устраивает, но не понятно как залить по верхнему краю (заголовок вверху фигуры).

Автор:  TheHeat [ 20 апр 2019, 00:01 ]
Заголовок сообщения:  Re: Создание сложных фигур с особыми параметрами масштабирования

Нашел в стандартном наборе элементов странную заливку. Подкрутил кое что и получил что хотел. Как работает до сих пор не понимаю

Вложения:
tab.vss [16.5 Кб]
Скачиваний: 19

Автор:  TheHeat [ 22 апр 2019, 09:53 ]
Заголовок сообщения:  Re: Создание сложных фигур с особыми параметрами масштабирования

Короче все просто: нужно создать заливку перевернутую (из-за особенности заполнения) с заголовком внизу, а далеко вверху вставить любую фигуру. Пока размер таблицы не достигнет верхней фигуры заливка ее не увидит.

Товарищи, а есть способ запретить выделять фигуру при клике на заливке? То есть вернуть поведение как у не залитой фигуры.

Автор:  Surrogate [ 22 апр 2019, 10:33 ]
Заголовок сообщения:  Re: Создание сложных фигур с особыми параметрами масштабирования

TheHeat писал(а):
способ запретить выделять фигуру при клике на заливке? То есть вернуть поведение как у не залитой фигуры
вообще-то заливка никак не влияет на возможность выделить фигуру !
1. Можно запретить выделение фигуры
Изображение
2. Можно запретить показывать ручки фигуры, у пользователя может возникнуть иллюзия что ничего не выделено.
Изображение
помогает до тех пор пока не выделите еще фигуру, тогда рамка выделения захватывает и эту фигуру.
также можно случайно удалить такую фигуру!

Автор:  Tumanov [ 22 апр 2019, 10:53 ]
Заголовок сообщения:  Re: Создание сложных фигур с особыми параметрами масштабирования

Цитата:
вообще-то заливка никак не влияет на возможность выделить фигуру

Ну как это не влияет! Если заливки нет, то селектировать можно только нажав на линию. В середину квадрата тыкать можно сколько угодно и все безрезультатно.
С заливкой такого поведения можно добиться только ухищрениями. Например, сделать группу из залитого шейпа и рамки. Залитый шейп защитить от селектирования, а группе в свойстве Selection поставить "Group only".

Автор:  Surrogate [ 22 апр 2019, 11:31 ]
Заголовок сообщения:  Re: Создание сложных фигур с особыми параметрами масштабирования

Tumanov писал(а):
Если заливки нет, то селектировать можно только нажав на линию. В середину квадрата тыкать можно сколько угодно и все безрезультатно.
С заливкой такого поведения можно добиться только ухищрениями. Например, сделать группу из залитого шейпа и рамки. Залитый шейп защитить от селектирования, а группе в свойстве Selection поставить "Group only".
это нюансы как производится выделение!
Из последнего вопроса не совсем понятно, чего хочет добиться автор: Запрет выделения фигуры в принципе или какого-то частного случая выделения?
Дополнено позднее:
TheHeat писал(а):
есть способ запретить выделять фигуру при клике на заливке?
слона то я и не заметил! (c)
всегда блокировал фигуры от выделения наглухо!
phpBB [youtube]

Можно какой нибудь наглядный пример где можно использовать различия клик по контуру или по середине?

Автор:  TheHeat [ 22 апр 2019, 12:20 ]
Заголовок сообщения:  Re: Создание сложных фигур с особыми параметрами масштабирования

Surrogate писал(а):
Можно какой нибудь наглядный пример где можно использовать различия клик по контуру или по середине?

В макросе я это не использую. Мне просто не нужно чтобы при клике на фигуре внутри этой фигуры-таблицы не выделялась фигура-таблица. Пока что в макросе я принудительно ставлю ее на задний план, чтобы не мешалась:
Код:
Application.ActiveWindow.Selection.SendToBack


Но хотелось бы чтобы фигура выделялась только при клике по контуру. Однако я уже сомневаюсь что это возможно.

Автор:  Tumanov [ 22 апр 2019, 13:10 ]
Заголовок сообщения:  Re: Создание сложных фигур с особыми параметрами масштабирования

Цитата:
Однако я уже сомневаюсь что это возможно.

Почему? Вариант с группой не проходит?

Автор:  TheHeat [ 22 апр 2019, 17:14 ]
Заголовок сообщения:  Re: Создание сложных фигур с особыми параметрами масштабирования

Tumanov писал(а):
Цитата:
Однако я уже сомневаюсь что это возможно.

Почему? Вариант с группой не проходит?


Поставил для залитой фигуры
Protection / LockSelect = 1
Для группы
Group Properties / SelectMode = 0
Да, так работает. Спасибо за полезную фишку. Но немного подумав решил, что в свойства документа лезть не буду, так как на это у меня нет полномочий. Я предоставляю только vss конечному пользователю. Короче оставил как есть.

П.С. UndoScopeID номеруется в пределах конкретного макроса или в пределах всего документа? Сейчас у меня во всех макросах UndoScopeID1

Автор:  TheHeat [ 29 апр 2019, 13:26 ]
Заголовок сообщения:  Re: Создание сложных фигур с особыми параметрами масштабирования

В продолжение к кастомным заливкам. Можно ли какими то способами вставить текст в заливку? У меня пока получилось только Вставить как PNG, но оно мутновато как-то получается. EMF не показывает.

Автор:  Surrogate [ 29 апр 2019, 13:49 ]
Заголовок сообщения:  Re: Создание сложных фигур с особыми параметрами масштабирования

TheHeat писал(а):
Можно ли какими то способами вставить текст в заливку?
заливка должна состоять из простейших фигур!
если очень хочется можно имитировать написание букв отрезками, дугами и т.п.
Изображение

Автор:  TheHeat [ 29 апр 2019, 14:50 ]
Заголовок сообщения:  Re: Создание сложных фигур с особыми параметрами масштабирования

Surrogate писал(а):
TheHeat писал(а):
Можно ли какими то способами вставить текст в заливку?
заливка должна состоять из простейших фигур!
если очень хочется можно имитировать написание букв отрезками, дугами и т.п.
Спойлер: показать
Изображение

Ну насчет этого я догадался. Но шрифт корявый получается если самому рисовать

Автор:  Surrogate [ 29 апр 2019, 14:58 ]
Заголовок сообщения:  Re: Создание сложных фигур с особыми параметрами масштабирования

TheHeat писал(а):
Но шрифт корявый получается если самому рисовать
это смотря как рисовать. :mrgreen:
Изображение
TheHeat писал(а):
Ну насчет этого я догадался
я так думаю: по задумке разработчиков инструмент "образец заливки" не предусматривал использование шрифтов !
поэтому и результат такой как получается :wall:

Автор:  TheHeat [ 29 апр 2019, 17:01 ]
Заголовок сообщения:  Re: Создание сложных фигур с особыми параметрами масштабирования

Я сделал битмапом, слишком муторно рисовать строчные буквы Arial Narrow.

У меня проблема всплыла серьезная. Образцы концов линий и заливок не переносятся в другой документ вместе с vss. Как быть?

Автор:  Tumanov [ 29 апр 2019, 17:52 ]
Заголовок сообщения:  Re: Создание сложных фигур с особыми параметрами масштабирования

Цитата:
У меня проблема всплыла серьезная. Образцы концов линий и заливок не переносятся в другой документ вместе с vss. Как быть?

Вообще-то должны переноситься. Если не переносятся, то нужно искать - почему.
Образец заливки, по-сути, такой же мастер-шейп. Только скрытый.
Так что, если в VSS присутствует хотя бы один шейп, залитый таким образцом, то он потянет за собой и образец.
Соответственно, потом, когда шейп из VSS будет перенесен на страницу рисунка, то он перебросит и мастер-шейп образца из VSS в Document Stencil. После этого образец должен появиться среди доступных образцов в Document Explorer.
Кстати, такие вещи удобно рассматривать в формате VSX.

Автор:  TheHeat [ 29 апр 2019, 21:19 ]
Заголовок сообщения:  Re: Создание сложных фигур с особыми параметрами масштабирования

Tumanov писал(а):
Цитата:
У меня проблема всплыла серьезная. Образцы концов линий и заливок не переносятся в другой документ вместе с vss. Как быть?

Вообще-то должны переноситься. Если не переносятся, то нужно искать - почему.
Образец заливки, по-сути, такой же мастер-шейп. Только скрытый.
Так что, если в VSS присутствует хотя бы один шейп, залитый таким образцом, то он потянет за собой и образец.
Соответственно, потом, когда шейп из VSS будет перенесен на страницу рисунка, то он перебросит и мастер-шейп образца из VSS в Document Stencil. После этого образец должен появиться среди доступных образцов в Document Explorer.
Кстати, такие вещи удобно рассматривать в формате VSX.

1. битмап не перенесся, хотя есть мастер залитый им.
2. Конец линии не перенесся, хотя есть три мастера с ним
3. еще куча заливок не используются по-умолчанию, а добавляются при преобразовании фигур. Что с ними делать не приложу ума

Автор:  Tumanov [ 29 апр 2019, 21:50 ]
Заголовок сообщения:  Re: Создание сложных фигур с особыми параметрами масштабирования

Цитата:
битмап не перенесся, хотя есть мастер залитый им.

С битмапом не проверял. Битмап - это ведь не настоящий шейп, это нечто чужеродное, упакованное в шейп. Возможно, к нему у Visio другое отношение.
Цитата:
2. Конец линии не перенесся, хотя есть три мастера с ним

Три мастера (в vss) или уже копии хотя бы одного из этих мастеров на странице рисунка?
Цитата:
3. еще куча заливок не используются по-умолчанию, а добавляются при преобразовании фигур. Что с ними делать не приложу ума

Немного не понял... У Вас неизвестно откуда появляются заливки и Вы хотите узнать - откуда? А что значит "при преобразовании"?

Страница 1 из 5 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/