В рассматриваемом примере предполагается существование объекта 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;
После выполнения примера на рабочем пространстве будут созданы прямоугольник, эллипс и связь между ними, для каждого из которых будет применен заданный стиль:

См. также: