IWxWorkspace.StickyShapes

Синтаксис

StickyShapes: Boolean;

StickyShapes: boolean;

Описание

Свойство StickyShapes определяет скреплять ли объекты с линиями по соединительным точкам.

Комментарии

Свойство предназначено для использования в регламентном отчете. Значение свойства не сохраняется.

Допустимые значения:

Пример

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

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

Sub UserProc;
Var
    mb: IMetabase;
    Report: IPrxReport;
    Tab: ITabSheet;
    Objects: ITabObjects;
    Shape1, Shape2, Link: IWxShape;
    WSP: IWxWorkspace;
    PrxShape: IPrxShape;
    Placement: IGxRectF;
Begin
    // Получаем текущий репозиторий
    mb := MetabaseClass.Active;
    // Получаем регламентный отчёт
    Report := mb.ItemById("REPORT_STICKYSHAPES").Edit As IPrxReport;
    // Получаем активный лист отчета
    Tab := (Report.ActiveSheet As IPrxTable).TabSheet;
    // Получаем коллекцию объектов отчета
    Objects := Tab.Objects;
    // Получаем первый объект
    Shape1 := (Objects.Item(0As IPrxShape) As IWxShape;
    // Получаем рабочее пространство, к которому относится объект
    WSP := Shape1.Workspace;
    // Разрешаем крепление объектов по соединительным точкам
    WSP.StickyShapes := True;
    // Получаем второй объект
    Shape2 := (Objects.Item(1As IPrxShape) As IWxShape;
    // Создаем линию
    Placement := New GxRectF.Create(20205050);
    PrxShape := Objects.Add("PrxShape", Placement) As IPrxShape;
    PrxShape.Type := PrxShapeType.StraightLink;
    Link := PrxShape As IWxShape;
    // Соединяем два объекта с помощью линии
    WSP.GlueConnectionPoints(Shape1, 1, Link, 0);
    WSP.GlueConnectionPoints(Shape2, 0, Link, 1);
    // Сохраняем отчет
    (Report As IMetabaseObject).Save;
End Sub UserProc;

Imports Prognoz.Platform.Interop.Andy;
Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;

Public Shared Sub Main(Params: StartParams);
Var
    mb: IMetabase;
    Report: IPrxReport;
    Tab: ITabSheet;
    Objects: ITabObjects;
    Shape1, Shape2, Link: IWxShape;
    WSP: IWxWorkspace;
    PrxShape: IPrxShape;
    Placement: GxRectFClass = New GxRectFClass.Create();
Begin
    // Получаем текущий репозиторий
    mb := Params.Metabase;
    // Получаем регламентный отчёт
    Report := mb.ItemById["REPORT_STICKYSHAPES"].Edit() As IPrxReport;
    // Получаем активный лист отчета
    Tab := (Report.ActiveSheet As IPrxTable).TabSheet;
    // Получаем коллекцию объектов отчета
    Objects := Tab.Objects;
    // Получаем первый объект
    Shape1 := (Objects.Item[0As IPrxShape) As IWxShape;
    // Получаем рабочее пространство, к которому относится объект
    WSP := Shape1.Workspace;
    // Разрешаем крепление объектов по соединительным точкам
    WSP.StickyShapes := True;
    // Получаем второй объект
    Shape2 := (Objects.Item[1As IPrxShape) As IWxShape;
    // Создаем линию
    Placement.Create(20205050);
    PrxShape := Objects.Add("PrxShape", Placement) As IPrxShape;
    PrxShape.Type := PrxShapeType.pstStraightLink;
    Link := PrxShape As IWxShape;
    // Соединяем два объекта с помощью линии
    WSP.GlueConnectionPoints(Shape1, 1, Link, 0);
    WSP.GlueConnectionPoints(Shape2, 0, Link, 1);
    // Сохраняем отчет
    (Report As IMetabaseObject).Save();
End Sub;

В результате выполнения примера две фигуры в регламентном отчете будут соединены линией по соединительным точкам.

См. также:

IWxWorkspace