Hallo,
du musst im private Abschnitt deiner Komponente einen EventHandler für das OnChange Event von TStringList schreiben.
z.B.
Delphi-Quellcode:
private
...
procedure ItemsChange(Sender : TObject);
...
Deinen constructor musst dann wie folgt erweitern:
Delphi-Quellcode:
constructor TControlTabs.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
ControlStyle := [csCaptureMouse, csClickEvents, csOpaque, csReplicatable, csMenuEvents];
Align := alTop;
Height := 24;
FButtonGap := 3;
FButtonHeight := 20;
FIndent := 3;
FItems := TStringList.Create;
FItems.OnChange:=ItemsChange;
fButtonColor := clSkyBlue;
SetLength(FButtons, 0);
FBackgroundColor := clSilver;
end;
ItemsChange könnte dann so aussehen:
Delphi-Quellcode:
procedure TControlTabs.ItemsChange(Sender : TObject);
begin
Paint; oder Invalidate; aufrufen
end;
Jetzt wird ItemsChange aufgerufen, wenn Du ControlTabs1.Items.Add('Test'); verwendest.