![]() |
Форум visio.getbb.ru | О форумах Библиотека | Частые вопросы | Литература | Склад материалов Visio Navigator | Blog | Полезные ссылки | О сайте История Visio | Продукты Visio |
Для русскоязычных пользователей Visio. Начинающих и профессионалов. Где взять, как сделать, что купить и т.д. |
14.05.2010  Get Web Hex Color Values from Visio Shapes Chris Roth.
22.04.2010  Displaying the RGB values of Shapes David Parker.
Цвет и толщина Network connector
Еще один вопрос: как программно можно изменить цвет и толщину Network connector который находится в Stencil Logical Symbols?
Цвет линии программно меняется в ячейке LineColor. В простейшем случае туда подставляются номера цветов из палитры, которая высвечивается в меню Format/Line/Color. Например, красный цвет имеет индекс 2. Толщина меняется в ячейке LineWeight. По умолчанию она устанавливается в дюймах (0,01 in - примерно 3 pt).
Применительно к предыдущему примеру для утолщения коннектора в три раза и окраски его в красный цвет нужно добавить
shpObjConnector.Cells("LineColor") = 2
shpObjConnector.Cells("LineWeight") = 0.01
Примечание. Если этот коннектор вам всегда будет нужен какой-то определенной толщины, может проще изменить его прямо в трафарете, тогда не нужно будет делать это для каждого экземпляра программно. Для этого трафарет открывается для редактирования, выполняется Edit Master, устанавливается нужная толщина и цвет или только толщина и сохраняется. Теперь этот коннектор будет перетаскиваться уже в нужном виде. Если нужно установить толщину в других единицах измерения, то используется конструкция shpObjConnector.Cells("LineWeight").Formula = "2 pt"
Как VB закрасить прямоугольник?
Подскажите, как VB нарисовать прямоугольник и закрасить его, допустим, красным цветом.
MyObj = ActivePage.DrawRectangle(5, 5, 6, 6) а дальше?
Нажимаете Format/Fill/Color. Видите, слева красного цвета стоит цифра 2. Это номер цвета в палитре Visio. Красить шейпы можно цветами из палитры от 0 до 23 (туда можно включать и свои цвета).
Делается это так:
Рисуем шейп прямоугольник
Set MyObj = ActivePage.DrawRectangle(5, 5, 6, 6)
Определяем ячейку, отвечающую за цвет
Set cellObj = MyObj.Cells("FillForegnd")
Говорим, что шейп должен быть красным
cellObj.Formula = 2
Вместо прямого указания индекса палитры можно использовать функцию rgb(), например rgb(255, 0, 0) возвратит индекс красного цвета.
cellObj.Formula = "RGB(255; 0; 127)"
Путем определения в документе пользовательских цветов можно нарастить палитру еще на 232 цвета, но при этом нужно быть осторожным при переносе шейпов из одного документа в другой (при некорректной работе могут перекраситься).