TAdvShape on TControllist

Hello,

Eventhough TAdvShape is a descent from class(TGraphicControl) - which is a requirement for TControllist - Tadvshape does not render correctly on all TControllist items in Runtime (especially on TControllist.Itemcount > 1).

I tried some OnBeforeDraw / OnAfterDraw / OnShowControl shenanigans - but no solution.
Any Idea what to do?

To verify a simple example:

unit Unit11;

interface

uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, AdvShape, Vcl.ExtCtrls, Vcl.ControlList;

type
TForm11 = class(TForm)
ControlList1: TControlList;
Shape1: TShape;
AdvShape1: TAdvShape;
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
Form11: TForm11;

implementation

{$R *.dfm}

procedure TForm11.FormCreate(Sender: TObject);
begin
controllist1.itemcount:= 10;
end;
end.

object Form11: TForm11
Left = 0
Top = 0
Caption = 'Form11'
ClientHeight = 442
ClientWidth = 628
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'Segoe UI'
Font.Style = []
OnCreate = FormCreate
TextHeight = 15
object ControlList1: TControlList
Left = 0
Top = 0
Width = 628
Height = 442
Align = alClient
ItemHeight = 100
ItemMargins.Left = 0
ItemMargins.Top = 0
ItemMargins.Right = 0
ItemMargins.Bottom = 0
ParentColor = False
TabOrder = 0
ExplicitWidth = 624
ExplicitHeight = 441
object Shape1: TShape
Left = 208
Top = 16
Width = 65
Height = 65
end
object AdvShape1: TAdvShape
Left = 352
Top = 16
Width = 65
Height = 65
Appearance.Brush.Style = bsClear
Appearance.Color = clWhite
Appearance.ColorTo = clBtnFace
Appearance.Direction = gdHorizontal
Appearance.URLColor = clBlue
AutoSize = True
BackGround.Position = bpTopLeft
Shape = stStar
ShapeHeight = 64
ShapeWidth = 64
Text = ''
TextOffsetX = 0
TextOffsetY = 0
Version = '1.2.1.0'
end
end
end

TAdvShape was not designed to be replicatable.
It would at very least need the ControlStyle flag csReplicatable

Im a bit outside of my knowledge bubble of the VCL but TAdvShape already has ControlStyle csReplicatable:

{ TAdvShape }

constructor TAdvShape.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
ControlStyle := ControlStyle + [csReplicatable];
Width := 120;
...
...
end;

And if im setting the property clipping to false, it draws itself on every item of the TControllist - but then clipping (transparency?) is offcourse not correct anymore.

So its very close but yet not useable - I understand if from your point of view this is not solveable/doable. I just asking again because my UI designer/helper is silently crying in the corner, as I restricted the use of AdvShape :) :) ¯_(ツ)_/¯