IWxShape.CreateExtension

Синтаксис

CreateExtension([ProgId: String = ""]);

CreateExtension(ProgId: string);

Параметры

ProgId. Класс объекта, для которого создается расширение.

По умолчанию создается расширение для объектов репозитория. Расширение для объектов репозитория также можно создать, указав в качестве значения данного параметра значение - «KeWsp.WxMetabaseObject».

Описание

Метод CreateExtension создает расширение для фигуры рабочего пространства.

Комментарии

Данный метод используется при размещении на рабочем пространстве различных объектов. После создания расширения в свойстве IWxShape.Extension необходимо указать объект, которому будет соответствовать фигура рабочего пространства.

В текущей реализации расширение создается для размещения на рабочем пространстве фигур, соответствующих объектам репозитория.

Пример

Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием «Button1», компонента WorkspaceBox с наименованием «WorkspaceBox1» и какого-либо источника данных для «WorkspaceBox1». В репозитории имеется форма с идентификатором «Form_1».

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

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    MB: IMetabase;
    MbObj: IMetabaseObject;
    Shape: IWxShape;
    WxObj: IWxMetabaseObject;
    Style: IWxStyle;
    ws: IWxWorkspace;
Begin
    //Размещение и оформление объекта репозитория на рабочем пространстве
    ws := WorkspaceBox1.View.Workspace;
    ws.BeginUpdate;
    Mb := MetabaseClass.Active;
    MbObj := Mb.ItemById("Form_1"As IMetabaseObject;
    Shape := ws.CreateRectangle;
    Shape.CreateExtension;
    WxObj := Shape.Extension As IWxMetabaseObject;
    WxObj.MetabaseObject := MbObj;
    Shape.Id := "Form";
    //Создание стиля
    Style := ws.CreateStyle;
    Style.ShadowBrushForeColor := GxColor.FromName("Blue");
    Style.ShadowBrushForeTransparent := 50;
    Style.LinePenTransparent := 100;
    Style.TextAlignmentVertical := GxAlignment.Far;
    Shape.Style := Style;
    ws.EndUpdate;
End Sub Button1OnClick;
Imports Prognoz.Platform.Interop.Andy;
Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Workspace;

 
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
    MB: IMetabase;
    MbObj: IMetabaseObject;
    Shape: IWxShape;
    WxObj: IWxMetabaseObject;
    Style: IWxStyle;
    ws: IWxWorkspace;
    Color: GxColorClassClass = 
New GxColorClassClass();
Begin
    
//Размещение и оформление объекта репозитория на рабочем пространстве
    ws := workspaceBoxNet1.View.Workspace;
    ws.BeginUpdate();
    Mb := Self.Metabase;
    MbObj := Mb.ItemById[
"Form_1"As IMetabaseObject;
    Shape := ws.CreateRectangle();
    Shape.CreateExtension(
"KeWsp.WxMetabaseObject");
    WxObj := Shape.Extension 
As IWxMetabaseObject;
    WxObj.MetabaseObject := MbObj;
    Shape.Id := 
"Form";
    
//Создание стиля
    Style := ws.CreateStyle();
    Style.ShadowBrushForeColor := Color.FromName(
"Blue");
    Style.ShadowBrushForeTransparent := 
50;
    Style.LinePenTransparent := 
100;
    Style.TextAlignmentVertical := GxAlignment.walFar;
    Shape.Style := Style;
    ws.EndUpdate();
End Sub;

После выполнения примера на рабочем пространстве будет размещен указанный объект репозитория.

См. также:

IWxShape.Extension | IWxShape