Hallooo cookie22,
Danke nochmals für Deine Mühe!
Nein, leider wird das Tabsheet so auch nicht korrekt angezeigt. Dennoch habe ich eine Lösung gefunden, die sich beim Studium der Quelltexte ergeben hat.
Die Klasse
TSpTbxTabControl stammt von der Klasse
TSpTBXCustomTabset ab, die die Methode
Add enthält, die so definiert ist:
function TSpTBXCustomTabSet.Add(Caption: WideString): TSpTBXTabItem;
So war der erste Gedanke mit TabItem doch richtig.
Nur hatte ich beim vorherigen Quelltextstuduim leider diese Methode übersehen und das Problem halt so zu lösen versucht, wie das mit dem Delphi-eigenen Pagecontrol zu lösen wäre. Dort wird alles korrekt angezeigt.
Für SPTBX habe ich nun diese Add Methode verwendet. Und damit klappt die Anzeige wie gewünscht.
So sollte also, wer das SpTBXTabControl anstelle des Delphi-eigenen PageControl verwenden will, die Methode Add aufrufen um die Tabseite zu erzeugen und zwar so:
Delphi-Quellcode:
unit unit1;
interface
uses ...,..., SpTBXTabs;
type
TForm1 =
class(TForm)
procedure FormCreate(Sender: TObject);
private
FTabs: TSpTBXTabControl;
public
end;
implementation
procedure TForm1.FormCreate(Sender: TObject);
begin
FTabs := TSpTBXTabControl.Create(self);
FTabs.Parent := self;
FTabs.Add('
Mein Tab');
FTabs.Add('
Noch ein Tab');
end;
//Aber, wenn noch was auf der Tabseite angezeigt werden soll:
procedure TForm1.FormCreate(Sender: TObject);
var
Tab: TSpTBXTabItem;
Memo: TMemo;
Synedit: TSynEdit;
begin
FTabs := TSpTBXTabControl.Create(self);
FTabs.Parent := self;
Tab := FTabs.Add('
Mein Tab');
Memo := TMemo.Create(Self);
Memo.Parent := Tab;
//hier gibt es Typkonflikt TWinControl und TTBCustomItem
end;
end.
Wie kann ich also jetzt andere Controls auf die Tabseite bringen?
Ein Problem gelöst, das nächste kommt.
----------------------------------------------------------------------
Ich habe das jetzt so gelöst:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
Tab: TSpTBXTabItem;
Memo: TMemo;
Synedit: TSynEdit;
begin
FTabs := TSpTBXTabControl.Create(self);
FTabs.Parent := self;
Tab := FTabs.Add('Mein Tab');
Memo := TMemo.Create(Self);
FTabs.ActivePage.InsertControl(Memo);
end;
Nun endlich wird alles angezeigt, wie ich das wollte.
Danke @cookie22, Du hast mir den richtigen Denkanstoß gegeben.
.