AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

SpTBXTabsheet wird nicht angezeigt

Ein Thema von SpTBX · begonnen am 17. Apr 2012 · letzter Beitrag vom 21. Apr 2012
Antwort Antwort
Benutzerbild von cookie22
cookie22

Registriert seit: 28. Jun 2006
Ort: Düsseldorf
936 Beiträge
 
Delphi XE2 Professional
 
#1

AW: SpTBXTabsheet wird nicht angezeigt

  Alt 18. Apr 2012, 17:20
Mach mal aus dem FPage wieder ein SpTBXTabSheet und dann:

Delphi-Quellcode:
FTabs.Parent := Form1;
FPage.Parent := FTabs;
Wird es dann angezeigt?
Gruß
Cookie
  Mit Zitat antworten Zitat
SpTBX

Registriert seit: 17. Apr 2012
18 Beiträge
 
#2

AW: SpTBXTabsheet wird nicht angezeigt

  Alt 18. Apr 2012, 20:28
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.

.

Geändert von SpTBX (18. Apr 2012 um 21:14 Uhr)
  Mit Zitat antworten Zitat
SpTBX

Registriert seit: 17. Apr 2012
18 Beiträge
 
#3

AW: SpTBXTabsheet wird nicht angezeigt

  Alt 21. Apr 2012, 19:16
Hallo,

Leider kann ich meinen letzten Beitrag nicht mehr bearbeiten, deshalb der neue Beitrag hier. Ich habe keine neue Frage zum SpTBX, ich wollte nur zeigen, wie ein Zugriff auf die in eine Tabseite eigefügte Komponente erfolgen kann:

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);
  //oder
  TMemo(FTabs.Pages[FTabs.PagesCount-1].Controls[0]).Lines.Add('Zugriff erfolgreich');
  //oder
  TMemo(FTabs.ActivePage.Controls[0]).Lines.Add('Zugriff mit --- FTabs.ActivePage.Controls[0] --- ');
end;
Wird eine andere Komponente eingefügt, muß statt TMemo natürlich der Typ der eigefügten Komponente stehen.

Habe damit ne ganze Weile experimentieren müssen, bevor mir dieser Zugriff gelang und da dachte ich, ich werde das mal hier zum Besten geben, vielleicht hat ja der eine oder andere dieselben Probleme damit.

.

Geändert von SpTBX (21. Apr 2012 um 19:25 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz