Hallo, ich habe heut leider nicht viel Zeit aber folgendes ist mit noch aufgefallen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
ControlTabs1.Items.Add('Test');
end;
ruft in der
Unit Classes
Delphi-Quellcode:
function TStrings.Add(const S: string): Integer;
begin
Result := GetCount;
Insert(Result, S);
end;
auf und nicht Deine Paintmethode, daher kommt es auch zu keinem Neuzeichnen der Controls.
Die Methode SetItems wird nicht durchlaufen, das kannst Du ganz leicht überprüfen:
einbinden von:
uses Dialogs;
Delphi-Quellcode:
PROCEDURE TControlTabs.SetItems(CONST Value: TStrings);
BEGIN
FItems.Assign(Value);
SetLength(FButtons, FItems.Count);
ShowMessage(Value.Text); <---- Sollte angezeit werden, tut es aber nicht!
invalidate;
END;