MoveConnectionPoint(Index: Integer; Point: IGxPointF);
MoveConnectionPoint(Index: integer; Point: Prognoz.Platform.Interop.Drawing.IGxPointF);
Index. Индекс точки соединения объекта;
Point. Точка, в которую требуется переместить точку соединения объекта.
Метод MoveConnectionPoint перемещает точку соединения объекта в указанную точку.
Для получения количества точек соединения объекта используйте свойство IWxShape.ConnectionPointCount.
Для выполнения примера в репозитории предполагается наличие рабочего пространства с идентификатором «WSP», содержащего несколько соединенных фигур.
Добавьте ссылки на системные сборки: Andy, Drawing, Metabase.
Sub UserProc;
Var
mb: Imetabase;
wsp: IWxWorkspace;
Shape: IWxShape;
Point: IGxpointF;
Begin
//Получаем рабочее пространство для редактирования
mb := MetabaseClass.Active;
wsp := mb.ItemById("Workspace").Edit As IWxWorkspace;
// Получаем фигуру
Shape := wsp.Shapes.Item(0);
// Создаем точку с новыми координатами
Point := New GxPointF.Create(100, 100);
// Присваиваем последней добавленной точке указанные координаты при условии, что количество точек не равно 0
If Shape.ConnectionPointsCount <> 0 Then
Shape.MoveConnectionPoint(Shape.ConnectionPointsCount - 1, Point);
End If;
//Сохраняем изменения
(Wsp As IMetabaseObject).Save;
End Sub UserProc;
Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Andy;
Public Shared Sub Main(Params: StartParams);
Var
mb: IMetabase;
wsp: IWxWorkspace;
Shape: IWxShape;
Point: GxPointF;
Begin
// Получаем рабочее пространство для редактирования
mb := Params.Metabase;
wsp := mb.ItemById["WSP"].Edit() As IWxWorkspace;
// Получаем фигуру
Shape := wsp.Shapes.Item[0];
// Создаем точку с новыми координатами
Point := New GxPointF.Create();
Point.Create(100, 100);
// Присваиваем последней добавленной точке указанные координаты при
// условии, что количество точек не равно 0
If Shape.ConnectionPointsCount <> 0 Then
Shape.MoveConnectionPoint(Shape.ConnectionPointsCount - 1, Point);
End If;
// Сохраняем изменения
(Wsp As IMetabaseObject).Save();
End Sub;
В результате выполнения примера точка соединения фигуры переместится в точку с заданными координатами.
См. также: