Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi abgeleitetest TTabsheet in ein Pagecontrol erzeugen (https://www.delphipraxis.net/156061-abgeleitetest-ttabsheet-ein-pagecontrol-erzeugen.html)

Digielm 18. Nov 2010 12:34

Delphi-Version: 2009

abgeleitetest TTabsheet in ein Pagecontrol erzeugen
 
Hallo Leute

Ich habe ein abgeleitetest TTabsheet gemacht und möchte das in ein Pagecontrol erzeugen. Das klappt auch soweit, aber auf meinem Tabsheet sind noch einige Elemente drauf, die aber nicht mit erzeugt werden. Warum das ??


der aufruf
Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  test : Tform2;
begin
  test := TForm2.Create(self);
  test.Parent := PageControl1;
  test.PageControl := PageControl1;
end;
mein eigenes TTabsheet

Delphi-Quellcode:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls;

type
  TForm2 = class(TTabsheet)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    TabSheet5: TTabSheet;
    TabSheet6: TTabSheet;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
     constructor Create( AOWner : TComponent); override;
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

{ TForm2 }

constructor TForm2.Create(AOWner: TComponent);
begin
  inherited create(AOWner);

//  Parent := AOWner;

end;

end.
die Tabsheets die ich auf meinem Tabsheet hab werden nicht mit erzeugt weiß einer warum ?

uligerhardt 18. Nov 2010 12:39

AW: abgeleitetest TTabsheet in ein Pagecontrol erzeugen
 
Das klappt so nicht - ein TabSheet hat keine DFM. Leite stattdessen TForm2 von TFrame ab, lege ein leeres TabSheet an und lege dort eine Instanz von TForm2 mit alClient drauf.

ChrisE 18. Nov 2010 12:45

AW: abgeleitetest TTabsheet in ein Pagecontrol erzeugen
 
Hallo,

es sieht ganz so aus, als ob du zunächst ein Form erstellt hättest und dann nur die Ableitung von TForm in TTabsheet geändert hast.
Zitat:

Zitat von uligerhardt (Beitrag 1062338)
Das klappt so nicht

;-)

Ich würde mich meinem Vorredner Anschließen und Frames verwenden und dehnen dann alles verpassen was du brauchst. Dann dynamisch ein Tabsheet erzeugen und dem das Frame per alClient aufpflanzen :-)

Gruß, Chris

Digielm 18. Nov 2010 12:48

AW: abgeleitetest TTabsheet in ein Pagecontrol erzeugen
 
Jetzt bekomme ich Fehler beim lesen von Form2.caption

ChrisE 18. Nov 2010 12:51

AW: abgeleitetest TTabsheet in ein Pagecontrol erzeugen
 
Hallo Digielm,

also nochmal:
Du kannst nicht einfach ein Formular erstellen und dann in der pas-Datei einfach nur den Typ der Ableitung ändern und hoffen, dass alles Funktioniert. Erstelle ein Frame neu in einer Unit. Fülle das Frame wie du es brauchst und verwende es dann in deinem Quelltext.

BTW: Ein Frame hat kein Caption :-)

Gruß, Chris

Digielm 18. Nov 2010 13:03

AW: abgeleitetest TTabsheet in ein Pagecontrol erzeugen
 
Zitat:

Zitat von ChrisE (Beitrag 1062340)
Hallo,

es sieht ganz so aus, als ob du zunächst ein Form erstellt hättest und dann nur die Ableitung von TForm in TTabsheet geändert hast.
Zitat:

Zitat von uligerhardt (Beitrag 1062338)
Das klappt so nicht

;-)

Ich würde mich meinem Vorredner Anschließen und Frames verwenden und dehnen dann alles verpassen was du brauchst. Dann dynamisch ein Tabsheet erzeugen und dem das Frame per alClient aufpflanzen :-)

Gruß, Chris

wie kann ich das machen // Dann dynamisch ein Tabsheet erzeugen und dem das Frame per alClient aufpflanzen ?? hat einer ein bissel source ?

ChrisE 18. Nov 2010 13:23

AW: abgeleitetest TTabsheet in ein Pagecontrol erzeugen
 
Hallo Digielm,

kannst du zunächst Dein Problem noch etwas genauer beschreiben.
  • Also was möchtest du erreichen?
  • Was soll nachher auf der Oberfläche sein?
  • Warum hast du den weg so gewählt, dass es zu der Ursprünglichen Frage kam im Thread?

Dann können wir dir sicher helfen :-)

Gruß, Chris


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:14 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