Home
Расширение Visio воспринимается лучше, когда оно сопровождается справкой. В простейшем случае это может быть текстовый файл, иногда PDF. Если объем справочных сведений достаточно большой, то желательно оформить справку в формате CHM. Это уже несколько труднее, чем просто написать файл Word. Вот о справке в CHM и пойдет речь ниже.
Собственно, сделать CHM файл не составляет особого труда. Существуют бесплатные инструменты, помогающие либо конвертировать сайт в формат CHM, либо прямо в этом инструменте вручную набрать оглавление и текст страничек справки. Для вызова такой справки можно либо предусмотреть кнопку на риббоне, либо вызывать ее макросом. При этом вызванная справка по умолчанию позиционируется на главную страницу, а далее действуют кнопки управления движком справки.
Но иногда хочется напрямую вызвать страницу, связанную с определенным щейпом. Такой вариант тоже возможен. Документация Visio советует использовать меню Developer / Shape Name и вписывать ссылку в поле Help: в формате FILENAME!#Number, где FILENAME - имя файла справки, а Number - числовой ID нужной страницы, назначенный в MAP секции проекта справки. Предполагается, что достаточно вписать туда нечто типа ShapeHelp.chm!#20000 и при нажатии на F1 откроется заданная страница справки. Кстати, попробовал и так и не добился успеха. По F1 упорно открывается стандартная справка Visio. Поэтому пришлось поискать другие методы.
- Категория: Блог
Не секрет, что механизм тем, появившийся в последних версиях Visio, иногда плохо воспринимает трафареты, рассчитанные на отсутствие тем.
David J Parker в статье "Protecting Shapes from Themes in Visio 2013+" показал основные принципы защиты от воздействия тем. Но недавно я наткнулся на случай, в котором предложенный метод защиты оказался недостаточным.
Пользователь переделывает старые трафареты под новую версию Visio и никак не может заставить их не воспринимать темы. После более глубокого изучения трафарета оказалось, что причина кроется в использовании стилей.
Со стилями Microsoft поступила оригинально. Когда-то это был основной механизм предварительной настройки форматов и им часто пользовались. При переходе к темам доступ к стилям практически исключили из GUI, но сами-то стили остались. И там внутри они не только работают, но и могут существенно влиять на поведение шейпов.
В рассматриваемом случае в мастер-шейпе был использован стиль DFD Normal, основанный на стиле Normal. Вроде, никакого криминала. Но при переходе в новую систему наследование начинается со стиля Theme. В результате, стоит только перебросить мастер из трафарета на страницу рисунка, как в документе появляется новый стиль со следующей цепочкой наследования DFD Normal => Normal => Theme.
- Категория: Блог
Недавно в форуме возник вопрос - как пристроить пункт контекстного меню шейпа не сверху, а внизу. Что удивительно, вопрос провисел долго, выдержал несколько неточных ответов и был закрыт только после появления истинного корифея. Похоже, что тема освещена явно недостаточно. Попробую слегка раскрыть.
Итак, контекстное меню. Довольно простой и быстрый способ придать интерактивность своему произведению. Не требует знания программирования, только шейп-лист. Может быть навешено как на шейп, так и на страницу. Очень удобно, когда не хочется заморачиваться с риббоном.
Как добавить к шейпу свое меню
Краткий рецепт: открыть шейп-лист, добавить секцию Actions, добавить несколько строк по количеству требуемых пунктов меню, заполнить как минимум ячейки Action и Menu.
У шейпа или страницы уже существует контекстное меню. Пользовательские пункты пристраиваются к нему дополнительно. По умолчанию они пристраиваются сверху. Такое поведение получается автоматически после заполнения двух указанных ячеек.
Плюс существует еще почти десяток ячеек, распоряжающихся нюансами поведения меню. Вот на нюансах хотелось бы остановиться подробнее. Каким может быть меню и как этого достичь.
- Категория: Блог
Есть у шейпа такой метод - AutoConnect. С его помощью один шейп присоединяет к себе другой.
Метод принимает также параметр, с помощью которого можно задать направление размещения для присоединяемого шейпа. Раньше как-то не приходилось задумываться, насколько сильно влияние этого параметра на скорость работы. Но вот неожиданно такой случай подвернулся.
Была у меня программка, которая выводит в графическом виде структуру модулей проектов VBA (входимость и структуру вызовов). И вот, когда понадобилось проанализировать структуру довольно сложного проекта, был поражен ее медлительностью. Естественно, начал искать причину.
В результате обнаружилось, что наибольшее замедление дает вот этот оператор
Sh1.AutoConnect Sh2, visAutoConnectDirRight, mas
Когда-то я подумал, что схема должна располагаться слева направо, поэтому особо не задумываясь, выбрал параметр visAutoConnectDirRight. Причем размещение все равно получается не оптимальным, поэтому в конце оно еще раз приглаживается с помощью ActivePage.Layout.
- Категория: Блог
Страница 3 из 6