AGB  ·  Datenschutz  ·  Impressum  







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

komponente auf neuem Tab erzeugen

Ein Thema von blackfoxx · begonnen am 5. Jul 2005 · letzter Beitrag vom 26. Mai 2006
Antwort Antwort
blackfoxx

Registriert seit: 25. Feb 2005
Ort: Halle
43 Beiträge
 
Delphi 2005 Personal
 
#1

komponente auf neuem Tab erzeugen

  Alt 5. Jul 2005, 17:45
Hi Leute,

ich versuche auf einem TPageControl ein neues Tab und darauf eine Listbox zu erzeugen.
Das Tab funktioniert mit TTabSheet.create schon ganz gut. Aber die Listbox macht mir probleme.

Der Code:
Delphi-Quellcode:
var
 newpage :TTabSheet;
 newlistcomp:TListBox;

begin
  newpage:=TTabSheet.Create(Form1.PageControl1);
  newlistcomp:=TListBox.Create(Form1.PageControl1);
    with newlistcomp do
     begin
      left:=10;
      top:=88;
      width:=249;
      height:=273;
     end;
end;
So gibt er den Laufzeitfehler: Element " hat kein übergeordnetes Fenster.

Das Problem liegt also darin: Wie spreche ich das neu erstellte Tab an, um es "newlistcomp" also Parent/Owner zu übergeben???


Ich hoffe ihr versteht mein Problem und habt eine Idee..

Danke und Greetz
BlackFoxx
Jonas Schwartze
Nichts ist unmöglich, nur mathematisch unwahrschienlich!
@LG LM70 Express
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: komponente auf neuem Tab erzeugen

  Alt 5. Jul 2005, 17:49
Du solltest eventuell angeben auf welchem TabSheet deine Listbox erzeugt werden soll. Und vergess nicht das Parent zu setzen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
blackfoxx

Registriert seit: 25. Feb 2005
Ort: Halle
43 Beiträge
 
Delphi 2005 Personal
 
#3

Re: komponente auf neuem Tab erzeugen

  Alt 5. Jul 2005, 17:53
genau das habe ich vor.
und dafür benötige ich ja eine Möglichkeit, um das TabSheet anzusprechen.
Ich habe aber nichts. Nur einen Namen, als eine string variable.
Ich habe noch versucht, die Variable "newpage", als Owner anzugeben und als Prent zu setzen, aber das hat auch nichts genützt.
Jonas Schwartze
Nichts ist unmöglich, nur mathematisch unwahrschienlich!
@LG LM70 Express
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#4

Re: komponente auf neuem Tab erzeugen

  Alt 5. Jul 2005, 18:08
Zitat von blackfoxx:
Ich habe noch versucht, die Variable "newpage", als Owner anzugeben und als Prent zu setzen, aber das hat auch nichts genützt.
Sollte es aber . Kommt ein Fehler?
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
blackfoxx

Registriert seit: 25. Feb 2005
Ort: Halle
43 Beiträge
 
Delphi 2005 Personal
 
#5

Re: komponente auf neuem Tab erzeugen

  Alt 5. Jul 2005, 18:15
ja. Eben, dass das 'Element " kein übergeordnetes Fenster hat'.
Ich verstehe es auch nicht, da ja eben "newpage" den wert des neuen Tabs hat.
Jonas Schwartze
Nichts ist unmöglich, nur mathematisch unwahrschienlich!
@LG LM70 Express
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: komponente auf neuem Tab erzeugen

  Alt 5. Jul 2005, 18:50
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  MyTabSheet: TTabSheet;
  MyListBox: TListbox;
begin
  MyTabSheet := TTabSheet.Create(Form1);
  MyTabSheet.Parent := PageControl1;
  MytabSheet.PageControl := PageControl1;
  MytabSheet.Caption := 'Test';
  MyListBox := TListBox.Create(Form1);
  MyListbox.Parent := MyTabSheet;
end;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
blackfoxx

Registriert seit: 25. Feb 2005
Ort: Halle
43 Beiträge
 
Delphi 2005 Personal
 
#7

Re: komponente auf neuem Tab erzeugen

  Alt 5. Jul 2005, 22:16
Das Tabsheet ereugt er damit, wie vorher auch schon. Aber das Problem, dass die Listbox keine übergeordnete Komponente hat ist nch wie vor da!!

Danke trotzdem erstmal..

ich suche weiter..
Jonas Schwartze
Nichts ist unmöglich, nur mathematisch unwahrschienlich!
@LG LM70 Express
  Mit Zitat antworten Zitat
nitschchedu

Registriert seit: 24. Mär 2006
300 Beiträge
 
Delphi 7 Professional
 
#8

Re: komponente auf neuem Tab erzeugen

  Alt 26. Mai 2006, 09:31
Ich hätte da auch noch ein Problem
Also wenn ich auf ein TabSheet eine Form mit CreateParent(TabSheet.handle) erstelle habe ich meine Buttens und so aber leiter
kann ich nun nicht mehr mit den Pfeiltasten im MemoFeld hin und her steuern !! Hat jemand eine Idee ?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: komponente auf neuem Tab erzeugen

  Alt 26. Mai 2006, 12:40
Hallo,

tut das Not, dass du CreateParented() verwendest? Du arbeitest doch ausschließlich mit VCL Komponenten.

Delphi-Quellcode:
begin
  // ...
  if InputQuery(s, 'Caption', s) then
  begin
    ts := TTabSheet.Create(PageControl);
    ts.Caption := s;
    ts.PageControl := PageControl;
    ts.BorderWidth := 6;
    m := TMemo.Create(ts);
    m.Align := alClient;
    m.Parent := ts;
    m.ScrollBars := ssBoth;
    PageControl.ActivePage := ts;
  end;
end;
Grüße vom marabu
Angehängte Dateien
Dateityp: zip ts-dyn_155.zip (3,3 KB, 5x aufgerufen)
  Mit Zitat antworten Zitat
nitschchedu

Registriert seit: 24. Mär 2006
300 Beiträge
 
Delphi 7 Professional
 
#10

Re: komponente auf neuem Tab erzeugen

  Alt 26. Mai 2006, 17:13
Nicht Schlecht die Demo aber ich LAde das ganze aus einer Dll, also ich Ich gebe die TabSheet.hande anddie DLL und in der DLL mache ich eben Form.CreatParent(Handle) so wird
Das Form auf das TabSheet gezeichnet. Auf einen PAnel geht das nur eben auf dem TabSheet nicht.
Also mit anderen Worten ich brauche das Creatparent
  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 12:59 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