AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Tabsheet samt Inhalt zur Laufzeit erstellen
Thema durchsuchen
Ansicht
Themen-Optionen

Tabsheet samt Inhalt zur Laufzeit erstellen

Ein Thema von buyden · begonnen am 2. Jan 2006 · letzter Beitrag vom 11. Jan 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von buyden
buyden

Registriert seit: 10. Apr 2003
Ort: Schneeberg
228 Beiträge
 
Delphi 7 Enterprise
 
#1

Tabsheet samt Inhalt zur Laufzeit erstellen

  Alt 2. Jan 2006, 13:57
Hi,

Schönes neues Jahr erstmal.

Ich möchte zur Laufzeit Tabsheets erstellen, komplett mit allen Objekten die darauf liegen.
Es handelt sich dabei um ein Formular zu einem Auftrag. Ich möchte für andere Aufträge jeweils ein neues TabSheet mit allen dazugehörigen Formulardaten erstellen.

Wie kann man das am einfachsten anstellen?
Es gibt keine dummen Fragen, außer die von mir


MFG BUYDEN
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#2

Re: Tabsheet samt Inhalt zur Laufzeit erstellen

  Alt 2. Jan 2006, 14:08
Mmh. Ich denke am Besten du machst dafür ein Frame (TFrame). Dort kannst du alle Komponenten zu Designzeit reinpacken und wie mit einem Formular arbeiten. Dieses Frame kann dann in einen Tabsheet eingebettet werden.

Wie man dynamisch TTabsheets erstellt findest du hier zu genüge.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Benutzerbild von buyden
buyden

Registriert seit: 10. Apr 2003
Ort: Schneeberg
228 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Tabsheet samt Inhalt zur Laufzeit erstellen

  Alt 2. Jan 2006, 14:33
Hört sich ja nicht schlecht an aber wie stell ich das an? Wie kann ich das Frame in das TabSheet einbetten?
Es gibt keine dummen Fragen, außer die von mir


MFG BUYDEN
  Mit Zitat antworten Zitat
Benutzerbild von buyden
buyden

Registriert seit: 10. Apr 2003
Ort: Schneeberg
228 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Tabsheet samt Inhalt zur Laufzeit erstellen

  Alt 2. Jan 2006, 16:09
Ich stelle mir also nen Button vor, von wegen "Auftrag in neuem Tab öffnen" und ich bekomme auf einem neuen Tab das komplette Formular des neuen Auftrags - in etwa so wie bei Firefox.
Es gibt keine dummen Fragen, außer die von mir


MFG BUYDEN
  Mit Zitat antworten Zitat
Benutzerbild von buyden
buyden

Registriert seit: 10. Apr 2003
Ort: Schneeberg
228 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Tabsheet samt Inhalt zur Laufzeit erstellen

  Alt 2. Jan 2006, 17:30
Ich hab jetzt wenigstens schonmal rausbekommen, wie ich die Tabsheets zur laufzeit erzeue. Ich hab dafür folgenden code:
Delphi-Quellcode:
procedure Tfrmmain.Button1Click(Sender: TObject);
var newsheet:ttabsheet;

begin
   newsheet:=ttabsheet.Create(pcauftrag);
   newsheet.Caption:='neu'+ inttostr(pcauftrag.PageCount+1);
   newsheet.PageControl:= pcauftrag;
end;
Prinzipiell könnte man jetzt sicher sämtliche darauf befindlichen Objekte genauso erschaffen aber dabei handelt es sich um ca. 20 DBEDITs, Labels, ... mit sämtlichen Positionen und Eigenschaften, was also nen recht großen Aufwand bedeuten würde.
Ich bräuchte also eine Möglichkeit, meine Tabsheets aus einer Vorlage zu erstellen.
Es gibt keine dummen Fragen, außer die von mir


MFG BUYDEN
  Mit Zitat antworten Zitat
Nightshade

Registriert seit: 7. Jan 2003
Ort: Menden
192 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Tabsheet samt Inhalt zur Laufzeit erstellen

  Alt 2. Jan 2006, 17:40
Du erstellst einfach ein Frame
(Neu -> Frame)
Setzt deine Controls darauf.

Und erstellst es einfach mit dem Tab :
Delphi-Quellcode:
procedure Tfrmmain.Button1Click(Sender: TObject);
var
  newsheet:ttabsheet;
  NewFrame:TFrame1;
begin
   newsheet:=ttabsheet.Create(pcauftrag);
   newsheet.Caption:='neu'+ inttostr(pcauftrag.PageCount+1);
   newsheet.PageControl:= pcauftrag;
   NewFrame := TFrame1.Create(self);
   NewFrame.parent := Newsheet;
end;
Christian
Killing for peace is like fucking for virginity

Nightshade
  Mit Zitat antworten Zitat
Benutzerbild von buyden
buyden

Registriert seit: 10. Apr 2003
Ort: Schneeberg
228 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Tabsheet samt Inhalt zur Laufzeit erstellen

  Alt 2. Jan 2006, 18:03
OK, ein komplettes Tabsheet kann ich so erstellen, beim zweiten meckert er mich allerdings an, das Frame1 schonmal existiert.
Es gibt keine dummen Fragen, außer die von mir


MFG BUYDEN
  Mit Zitat antworten Zitat
Benutzerbild von buyden
buyden

Registriert seit: 10. Apr 2003
Ort: Schneeberg
228 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Tabsheet samt Inhalt zur Laufzeit erstellen

  Alt 2. Jan 2006, 20:50
Hab's hinbekommen, einfach umbenennen und schon funzt's

Delphi-Quellcode:
procedure Tfrmmain.Button1Click(Sender: TObject);
var newsheet:ttabsheet;
    newframe:tframe1;
begin
   newsheet:=ttabsheet.Create(pcauftrag);
   newsheet.Caption:='neu'+ inttostr(pcauftrag.PageCount+1);
   newsheet.PageControl:= pcauftrag;
   NewFrame := TFrame1.Create(self);
   newframe.Name := 'tframe' + inttostr(pcauftrag.PageCount+1);
   NewFrame.parent := Newsheet;
end;

Schönen Dank an alle.
Es gibt keine dummen Fragen, außer die von mir


MFG BUYDEN
  Mit Zitat antworten Zitat
Benutzerbild von buyden
buyden

Registriert seit: 10. Apr 2003
Ort: Schneeberg
228 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Tabsheet samt Inhalt zur Laufzeit erstellen

  Alt 3. Jan 2006, 00:04
Hi nochmal,

Ich hab jetzt auf den Frame noch nen Button gesetzt, mit dem sich das aktuelle Tabsheet mit allem darauf befindlichem schließen soll.



Dazu dieser Code - den hab ich von hier:

Delphi-Quellcode:
procedure Tframeauftrag.Button1Click(Sender: TObject);
begin
  (FindComponent('frameauftrag' + IntToStr(frmmain.pcauftrag.ActivePageIndex)) as TFrameauftrag).Free;
  (FindComponent('tabauftrag' + IntToStr(frmmain.pcauftrag.ActivePageIndex)) as TTabSheet).Free;
end;
Allerdings bekomme ich nen Fehler "undefinierter Bezeichner TTabSheet" in der zweiten Zeile. Wenn ich diese Zeile herauslasse passiert allerdings auch gar nix.

Hasst mich nicht für meine Dummheit!!
Es gibt keine dummen Fragen, außer die von mir


MFG BUYDEN
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Tabsheet samt Inhalt zur Laufzeit erstellen

  Alt 3. Jan 2006, 00:10
Zitat von buyden:
Dazu dieser Code - den hab ich von hier
Da muss ein Bug in meiner Webseite sein, der korrekte Link ist dieser.
Nachtrag: Hm, ich komme nicht auf den von dir genannten Link, seltsam.

Wo ich schonmal schreibe: Man kann und soll Beiträge editieren.


Hast du evtl vergessen, die ComCtrls.pas einzubinden?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 10:45 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