Создание объектов, их стилей и связи между ними

В рассматриваемом примере предполагается существование объекта ws типа IWxWorkspace.

Sub UserProc;

Var

ws : IWxWorkspace;

Rect : IWxRectangle;

Ellipse : IWxEllipse;

Style : IWxStyle;

Link : IWxLink;

Begin

ws.BeginUpdate;

 

// создание прямоугольника

Rect := ws.CreateRectangle;

Rect.PinPosition := New GxPointF.Create(20,10);

Rect.Text := "Прямоугольник";

Style := ws.CreateStyle;

Style.Id := "MyStyle";

Style.BackgroundBrushForeColor := New GxColor.CreateRGB(153,204,255);

Style.BackgroundBrushForeTransparent := 10;

Style.ShadowBrushForeColor := GxColor.FromName("White");

Style.ShadowBrushBackColor := New GxColor.CreateRGB(204,153,255);

Style.ShadowBrushPattern := GxBrushPattern.Gradient;

Style.TextFontSize := 9;

Style.TextFontBrushColor := GxColor.FromName("Blue");

Rect.Style := Style;

 

// создание эллипса

Ellipse := ws.CreateEllipse;

Ellipse.PinPosition := New GxPointF.Create(80,60);

Ellipse.Text := "Эллипс";

Ellipse.Style := ws.Styles.FindById("MyStyle");

 

// создание связи между объектами

Link := ws.CreateLink;

Link.Text := "Связь";

Link.TextVertOffset := -10;

Style := ws.CreateStyle;

Style.LinePenBeginWxCap := WxLineCap.ArrowRoundedFilled;

Style.LinePenColor := New GxColor.CreateRGB(128,0,255);

Style.LinePenWidth := 0.5;

Link.Style := Style;

 

ws.GlueConnectionPoints(Rect,3,Link,0);

ws.GlueConnectionPoints(Ellipse,0,Link,1);

 

ws.EndUpdate;

End Sub UserProc;

После выполнения примера на рабочем пространстве будут созданы прямоугольник, эллипс и связь между ними, для каждого из которых будет применен заданный стиль:

См. также:

Примеры