💻Как изменить координаты фигуры программно
Описание системы координат, описание раздела в таблице свойств содержащей информацию о размерах и положении фигуры, нюансы обращения к ячейке.
Особенности системы координат
Для начала поговорим о том, как в MS Visio описываются координаты фигуры.
С помощью пользовательского интерфейса геометрические параметры фигуры можно изменять используя окно «Размер и положение».
По умолчанию, точкой отсчета координат страницы является ее левый нижний угол. Местоположение фигуры на странице определяется параметрами X, Y и «Положение булавки» (Pin Position).
«Положение булавки» или Pin Point
По умолчанию «Положение булавки» располагается в геометрическом центре фигуры (В середине по центру). С помощью выпадающего списка в окне «Размер и положение» можно изменять «Положение булавки».
Раздел ShapeTransform в ShapeSheet
В таблице свойств фигуры (ShapeSheet) параметры определяющие размеры и расположение фигуры содержатся в разделе Shape Transform.
Параметрам X/Y в окне «Размер и положение» соответствуют параметры содержащиеся в ячейках PinX/PinY таблицы свойств. А параметр «Положение булавки» соответствует комбинации параметров LocPinX и LocPinY.
Как программно изменять размеры, ориентацию и местоположение фигуры
В Visio вся информация о параметрах объекта хранится в ячейках таблицы свойств. Существует два способа обращения к ячейкам:
с указанием индексов раздела, строки раздела и столбца в строке (CellsSRC - Section (Раздел), Row (Строка), Column (Столбец)).
Синтаксис
выражение.
CellsSRC
(Section
,Row
,Column
)выражение Переменная, представляющая объект Shape .
Параметры
Имя
Обязательный или необязательный
Тип данных
Описание
Section
Обязательный
Integer
Индекс раздела ячейки.
Row
Обязательный
Integer
Индекс строки в ячейке.
Column
Обязательный
Integer
Индекс столбца ячейки.
Некоторые языки программирования (например C#) поддерживают обращение к ячейкам только с использованием CellsSRC!
Разделу Shape Transform таблицы свойств соответствует одна из строк в разделе visSectionObject.
При программировании в среде VBA в приложении Visio, в другом приложении с использованием раннего связывания можно использовать специальные константы Visio из перечисления стандартных констант Visio. При использовании позднего связывания или языка программирования Visual Basic Script необходимо использовать числовые индексы соответствующие разделу, строкам и столбцам.
В нижеследующей таблице приведены названия констант, соответствующие значения и описания для строки и столбцов ячеек относящихся к разделу Shape Transform таблицы свойств.
Константа | Значение | Описание |
visSectionObject | 1 | Содержит общие неповторяющихся свойства объекта. |
visRowXFormOut | 1 | Индекс строки в разделе visSectionObject , который содержится информация о разделе Shape Transform (параметры размеров и местоположения фигуры). |
visXFormWidth | 2 | Ячейка Width (раздел "Shape Transform") |
visXFormHeight | 3 | Ячейка Height (раздел "Shape Transform") |
visXFormAngle | 6 | Ячейка Angle (раздел "Shape Transform") |
visXFormPinX | 0 | Ячейка PinX (раздел "Shape Transform") |
visXFormPinY | 1 | Ячейка PinY (раздел "Shape Transform") |
visXFormLocPinX | 4 | Ячейка LocPinX (раздел "Shape Transform") |
visXFormLocPinY | 5 | Ячейка LocPinY (раздел "Shape Transform") |
visXFormFlipX | 7 | Ячейка FlipX (раздел "Shape Transform") |
visXFormFlipY | 8 | Ячейка FlipY (раздел "Shape Transform") |
visXFormResizeMode | 9 | Ячейка ResizeMode (раздел "Shape Transform") |
Примеры
Last updated