IWxShape.ConnectedShapes

Синтаксис

ConnectedShapes(ConnectionPointIndex: Integer; ConnectedCPShapeIndex: Integer): IWxShape;

ConnectedShapes[ConnectionPointIndex: integer; ConnectedCPShapeIndex: integer]: Prognoz.Platform.Interop.Andy.IWxShape;

Параметры

ConnectionPointIndex. Индекс точки соединения исходного объекта (на изображении данная точка отображена красным цветом);

ConnectedCPShapeIndex. Индекс фигуры, соединенной с объектом в точке ConnectionPointIndex (на изображении таких фигур две : A и B).

Описание

Свойство ConnectedShapes позволяет получить фигуру, соединенную с исходным объектом в заданной точке.

ConnectionPointIndex (точка соединения) отображена красным цветом. Фигуры, соединенные с объектом в данной точке две: А и B. Свойство вернет фигуру A или B.

Индексы точек соединения исходного объекта изображены черным цветом.

Индексы точек соединения фигур, соединенных с объектом в точке ConnectionPointIndex , изображены синим и зеленым цветом.

Пример

Для выполнения примера в репозитории предполагается наличие рабочего пространства с идентификатором «WSP», содержащего несколько соединенных фигур, содержащих текст.

Добавьте ссылки на системные сборки: Andy, Metabase.

Sub UserProc;
Var
    MB: IMetabase;
    ws: IWxWorkspace;
    i, j: Integer;
    Shape, CSh: IWxShape;
Begin
    MB := MetabaseClass.Active;
    // Получаем рабочее пространство
    ws := MB.ItemById("WSP").Edit As IWxWorkspace;
    Shape := ws.Shapes.Item(0);
    For i := 0 To Shape.ConnectionPointsCount - 1 Do
        If Shape.ConnectedCpShapesCount(i) > 0 Then
            For j := 0 To Shape.ConnectedCpShapesCount(i) - 1 Do
                CSh := Shape.ConnectedShapes(i, j);
                Debug.WriteLine(CSh.Text);
            End For;
        End If;
    End For;
    // Сохраняем изменения
    (ws As IMetabaseObject).Save;
End Sub UserProc;
Imports Prognoz.Platform.Interop.Andy;
 
Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    ws: IWxWorkspace;
    i, j: Integer;
    Shape, CSh: IWxShape;
Begin
    MB := Params.Metabase;
    
// Получаем рабочее пространство
    ws := MB.ItemById["WSP"].Edit() As IWxWorkspace;
    Shape := ws.Shapes.Item[
0];
    
For i := 0 To Shape.ConnectionPointsCount - 1 Do
        
If Shape.ConnectedCpShapesCount[i] > 0 Then
            
For j := 0 To Shape.ConnectedCpShapesCount[i] - 1 Do
                CSh := Shape.ConnectedShapes[i, j];
                System.Diagnostics.Debug.WriteLine(CSh.Text);
            
End For;
        
End If;
    
End For;
    
// Сохраняем изменения
    (ws As IMetabaseObject).Save();
End Sub;

В процессе выполнения примера будут поэтапно выдаваться сообщения, содержащие текст фигур, соединенных с исходным объектом.

См. также:

IWxShape