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

Уровень отображения

Как правило, в Visio фигуры, добавленные последними, отображаются поверх других фигур на странице. Для изменения порядка отображения пользователи могут применять такие команды, как «Переместить назад» или «Переместить вперед», которые содержатся в группе «Упорядочить» на вкладке «Главная». Поскольку фигуры контейнеров предназначены для размещения позади других фигур, а выноски — поверх других фигур, в Visio 2010 добавлена новая функция, избавляющая пользователя от необходимости постоянно вносить изменения в порядок отображения.

Ячейка DisplayLevel в таблице свойств фигуры позволяет определять для фигуры диапазон z-порядка. Visio будет автоматически отображать фигуру позади любой фигуры с более высоким значением DisplayLevel и, соответственно, поверх любой фигуры с более низким значением DisplayLevel. Диапазон значений DisplayLevel варьируется в пределах от -32767 до 32767. По умолчанию для фигур задано значение DisplayLevel, равное «0». Встроенные контейнеры Visio имеют значение DisplayLevel, равное -25000, а встроенные выноски Visio — значение, равное 25000.

Параметр DisplayLevel позволяет Visio автоматически выводить новые фигуры в нужном порядке отображения на схеме. Команды управления порядком отображения по-прежнему можно использовать для перемещения фигур за или перед другими фигурами. Однако поведение команд «BringToFront» (На передний план) и «SendToBack» (На задний план) изменилось. Однократный вызов одной из этих команд приведет только к перемещению фигуры в верхнюю или нижнюю позицию ее собственного диапазона z-порядка. Для перемещения фигуры за пределы ее диапазона в верхнюю или нижнюю строку общего z-диапазона необходимо вызвать команду еще раз.

Ячейка NoQuickDrag

Когда фигуры на схеме полностью перекрываются, пользователю бывает сложно выбрать одну из этих фигур. Многократный щелчок ряда фигур в Visio позволяет по очереди выбирать фигуры, однако получается, что для выделения той или иной фигуры из набора перекрывающихся фигур необходимо «перебрать» все фигуры, которые ей предшествуют. В случае настраиваемых контейнеров выбор фигур, входящих в контейнер, также может представлять трудность. Пользователи случайно могут выбрать контейнер, щелкнув фигуру-участник или попытавшись сбросить выделение щелчком рядом с фигурой-участником. Visio также предлагает режим перетаскивания одним щелчком, который не требует предварительного выделения фигуры. Таким образом, пользователи могут случайно перетащить контейнер, пытаясь выделить его содержимое методом произвольного выделения.

В Visio 2010 предусмотрена новая ячейка таблицы свойств фигуры, которая устраняет эти проблемы за счет назначения внутренней области фигуры в качестве области, недоступной для выделения. Такое поведение контролируется ячейкой NoQuickDrag. Если для ячейки NoQuickDrag задано значение «True» (Истина), щелчок внутренней области фигуры не приводит к выделению или перетаскиванию этой фигуры. Visio рассматривает эту область как незаполняемую. Такие фигуры по-прежнему можно выделить, щелкнув непосредственно контур или текст фигуры или используя метод произвольного выделения (лассо). Для встроенных фигур контейнеров Visio в ячейке NoQuickDrag установлено значение «True» (Истина) для внутренней области (но не для заголовков).

Настраиваемые всплывающие меню RMA

Фигуры, для которых предусмотрено несколько стилей оформления или вид которых управляется параметрами, часто имеют контекстное меню с настройками. Visio давно поддерживает настраиваемые действия для фигур, но раньше все действия отображались как пункты меню верхнего уровня. В Visio 2010 добавлена поддержка настраиваемых действий во всплывающих меню, которые позволяют более удобно организовывать команды фигуры.

Строка действий назначается всплывающим меню путем установки для ячейки FlyoutChild значения «True» (Истина). Visio также будет отображать эту строку как всплывающее меню ближайшей предыдущей строки действия, для которой в ячейке FlyoutChild задано значение «False» (Ложь).