AGB  ·  Datenschutz  ·  Impressum  







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

Objekte auf Tabsheets

Ein Thema von RoyKeane · begonnen am 20. Apr 2007 · letzter Beitrag vom 20. Apr 2007
Antwort Antwort
RoyKeane

Registriert seit: 20. Apr 2007
7 Beiträge
 
#1

Objekte auf Tabsheets

  Alt 20. Apr 2007, 14:07
hallo, ich mal eine frage, ich habe leider bei google oder auch in den foren keine passende lösung gefunden. ich möchte meine komponenten (labels, groupboxes, tabsheets) dynamisch erzeugen, da ich n - Tabsheets brauche. das klappt auch schon alles hervorragend, mein problem ist jetzt wie ich die einzelnen labels anspreche
so schauts aus:

Delphi-Quellcode:
for i := 1 to n - 1 do
    begin
    Tabsheet[i] := TTabsheet.Create(Form1);
    with Tabsheet[i] do
      begin
      Parent := PageControl1;
      PageControl := PageControl1;
      end;
    end;

//[...]

for i := 1 to n - 1 do
    begin
    GroupBox1 := TGroupBox.Create(Form1);
    with GroupBox1 do
      begin
      Caption := ' User ';
      Parent := TabSheet[i];
      end;

  Label1 := TLabel.Create(Form1);
  with Label1 do
    begin
    Caption := 'Current User: ';
    Parent := GroupBox1;
    Top := 20;
    Left := 8;
    Height := 13;
    Width := 71;
    end;

end;
davon noch ein wenig mehr, sodass ich auf jedem meiner n tabsheets das gleiche muster habe. meine frage ist jetzt wie ich zb. das label1 auf dem ersten tabsheet anspreche?
ich kann zwar mit label1.caption oder so arbeiten, da aber auf allen tabsheets die labels gleich heißen, kann ich quasi nur die auf der letzten seite ansprechen...
am besten wäre sowas wie tabsheet[3].label1.caption ... so in der art. kann mir da jmd weiterhelfen?
danke

Andreas
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Objekte auf Tabsheets

  Alt 20. Apr 2007, 14:13
Du mußt den Sheet nach dem label fragen

(TabSheet[i].FindComponent('<Labelname>') as TLabel).Text
Markus Kinzler
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Objekte auf Tabsheets

  Alt 20. Apr 2007, 14:15
erzeug dir ein array von TLabel, das du im formular hinterlegst

Delphi-Quellcode:
  T.... = class(TForm)
  private
    Labels : array of TLabel;

 ...

  setlength(Labels, n);

  Labels[i] := TLabel.Create(...);
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
RoyKeane

Registriert seit: 20. Apr 2007
7 Beiträge
 
#4

Re: Objekte auf Tabsheets

  Alt 20. Apr 2007, 15:00
erstmal danke für die schnelle antwort. das mit den findcomponent klingt plausibel, scheint aber irgendwie nicht zu klappen. ich habe jetzt beim dynamischen kreirien den namen hinzugefügt:

Delphi-Quellcode:
Label1 := TLabel.Create(Form1);
  with Label1 do
    begin
    Name := 'LblCurrUser' + IntToStr(i);
damit müsste er ja eindeutig sein. und beim aufruf das hier:

(Tabsheet[1].FindComponent('LblCurrUser1') as TLabel).Caption := 'Current User: ' + GetUserName; da ändert sich leider wenig im vergleich zu vorher, er findet sie nicht. habt ihr nochmal so eine schnelle lösung?

Andreas
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Objekte auf Tabsheets

  Alt 20. Apr 2007, 15:06
Habe mir deinen Sourcecode mal genauer angesehen Parent ist auch die Form.
(Form1.FindComponent('LblCurrUser1') as TLabel).Caption := 'Current User: ' + GetUserName;
Markus Kinzler
  Mit Zitat antworten Zitat
RoyKeane

Registriert seit: 20. Apr 2007
7 Beiträge
 
#6

Re: Objekte auf Tabsheets

  Alt 20. Apr 2007, 15:26
klasse! damit funzt es. nochmals danke besoders ihnen herr kinzler (sie haben mir schon in anderen foren öfters geholfen ), find ich super, dass sie so aktiv helfen

-closed
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Objekte auf Tabsheets

  Alt 20. Apr 2007, 15:31
Du darfst mich ruhig duzen
Markus Kinzler
  Mit Zitat antworten Zitat
Udontknow

Registriert seit: 17. Jun 2002
223 Beiträge
 
#8

Re: Objekte auf Tabsheets

  Alt 20. Apr 2007, 15:39
Hallo!

Dynamisch ist ja schön, aber das auch noch zu Fuß?

Kleiner Tipp: Entwerfe doch ein Frame, auf dem du die Steuerelemente ablegst. Da kannst du wie bei einem normalen Formular die IDE nutzen, und die Komponenten sind auch alle dementsprechend über ihren Namen referenzierbar.
Anschliessend erstellst du das Frame dynamisch und weist es dem neuen Tabsheet zu.

Dann hast du beides: RAD und toll dynamisch.

Cu,
Udontknow
  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 06:04 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