AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TTabSheet Klon auf TPageControl

Ein Thema von chillywilly · begonnen am 6. Nov 2005 · letzter Beitrag vom 6. Nov 2005
Antwort Antwort
chillywilly

Registriert seit: 1. Okt 2005
11 Beiträge
 
#1

TTabSheet Klon auf TPageControl

  Alt 6. Nov 2005, 12:10
Hi ihr!
ich würde gerne wissen wie ich bei klick auf einen button ein neues Tabsheet auf ein TPageControl platzieren kann das genau die gleichen Objekte drauf hat wie ein anderes.
(also ich möchte sozusagen einen klon von einem Tabsheet erstellen, wo aber zb die caption variieren kann. aber es soll immer ein editfeld drauf sein)

danke schonmal
mika
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#2

Re: TTabSheet Klon auf TPageControl

  Alt 6. Nov 2005, 12:31
Mit einem Pagecontrol ist das sehr schwierig. Du müsstest alle Komponenten auslesen, die auf der zu kopierenden Page liegen und diese dann irgendwie verdoppeln. Furchtbar kompliziert...

Wenn du dagegen einen Tabcontrol machst, kannst du einfach mit

  tabcontrol1.Tabs.Add(tabname) ein Tab hinzufügen. Auf allen Tabs wird dann das selbe angezeigt.
Michael Enßlin
  Mit Zitat antworten Zitat
chillywilly

Registriert seit: 1. Okt 2005
11 Beiträge
 
#3

Re: TTabSheet Klon auf TPageControl

  Alt 6. Nov 2005, 12:33
Ok also mit tabcontrol.
Nur wo finde ich da in der Objektleiste ein Objekt auf das dann halt der Tab ist?
  Mit Zitat antworten Zitat
chillywilly

Registriert seit: 1. Okt 2005
11 Beiträge
 
#4

Re: TTabSheet Klon auf TPageControl

  Alt 6. Nov 2005, 12:41
hm wadde.
ich habe nunc mal nen tabcontrol benutzt nur will ich ja nich nur mehrere tabs oben in der tableiste haben, er soll mir die objekte (zumbeispiel auf nem panel) pro tab einmal erzeugen, sodass ich für jedes tab halt einen satz von objekten habe, die ich einzelnd ansteuern kann
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: TTabSheet Klon auf TPageControl

  Alt 6. Nov 2005, 12:48
Wenn du das TabSheet welches du verdoppeln willst vorher von TTabSheet ableitest und die Controls auch in der abgleiteten Version gleich automatisch drauf setzt bräuchtest du einfach nur eine neue Instanz davon erzeugen. Ansonsten geht das mit dem verdoppeln nur wenn du ausschließlich published-Properties gesetzt hast (also alles über den Objectinsprector) weil die anderen Dinge die durch irgendwelche Methoden gesettz wurden nicht zu 100% ausgelesen werden können und somit auch kein clonen möglich ist.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
chillywilly

Registriert seit: 1. Okt 2005
11 Beiträge
 
#6

Re: TTabSheet Klon auf TPageControl

  Alt 6. Nov 2005, 12:50
ne Beispiel Anwendung für die erste Methode haste nich zufällig oder? :p
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: TTabSheet Klon auf TPageControl

  Alt 6. Nov 2005, 12:52
na die erste Methode ist einfach eine Komponente von TTabSheet ableiten und im Constructor davon die darauf liegenden Dinge erzeugen. Das hier genauer zu erläutern wäre nicht angebracht denn dazu gibt es entsprechende ausführliche tutorials die sich mit der Ableitung befassen.
Normal würdest du ja ein TabSheet zur Laufzeit so erzeugen:
Delphi-Quellcode:
var LSheet: TTabSheet;
begin
  LSheet := TTabSheet.Create(nil);
  LSheet.PageControl := PageControl1;
und anstelle von TTabSheet nimmst du deine eigene Klasse die du von TTabSheet abgeleitet hast.

Wenn du das ganze jetzt mit einer abgleiteten Version machst siehts so aus:
Delphi-Quellcode:
type
  TOwnTabSheet = class(TTabSheet)
  private
    Button1: TButton;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  end;
[...]
constructor TOwnTabSheet.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  Caption := 'eigenes TabSheet';
  Button1 := TButton.Create(Self);
  Button1.Parent := Self;
end;

destructor TOwnTabSheet.Destroy;
begin
  Button1.Free;
  inherited Destroy;
end;
[...]
var LSheet: TOwnTabSheet;
begin
  LSheet := TOwnTabSheet.Create(nil);
  LSheet.PageControl := PageControl1;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
chillywilly

Registriert seit: 1. Okt 2005
11 Beiträge
 
#8

Re: TTabSheet Klon auf TPageControl

  Alt 6. Nov 2005, 13:10
ZUU GEIL!!!

danke! läuft so wie ichs mir gewünscht hab!
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz