Einzelnen Beitrag anzeigen

Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#13
  Alt 15. Mai 2003, 12:53
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.
  Mit Zitat antworten Zitat