Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Label zur Laufzeit - Parent (https://www.delphipraxis.net/157453-label-zur-laufzeit-parent.html)

delphinia 12. Jan 2011 13:41

Delphi-Version: 5

Label zur Laufzeit - Parent
 
Hallo,

ich erstelle zur Laufzeit eine GroupBox in der soll ein label

Doch wie sag ich dem Label das es in die zur Laufzeit generierten GroupBox soll?

mkinzler 12. Jan 2011 13:44

AW: Label zur Laufzeit - Parent
 
In dem du diese als Parent setzt

Deep-Sea 12. Jan 2011 13:44

AW: Label zur Laufzeit - Parent
 
Ähm, sagt deine Überschrift das nicht schon?!
Delphi-Quellcode:
MeinLabel.Parent := MeineGroupBox;

mleyen 12. Jan 2011 13:46

AW: Label zur Laufzeit - Parent
 
Delphi-Quellcode:
procedure TForm2.FormCreate(Sender: TObject);
var
  AGrpBx: TGroupBox;
  ALbl: TLabel;
begin

  AGrpBx := TGroupBox.Create(Self);
  with AGrpBx do
  begin
    Name := 'AGrpBx1';
    Parent := Self;
    Left := 20;
    Top := 20;
    Width := 200;
    Height := 100;
    Caption := 'GrpBx1';
    TabOrder := 0;
  end;

  ALbl := TLabel.Create(Self);
  with ALbl do
  begin
    Name := 'ALbl1';
    Parent := AGrpBx;
    Left := 10;
    Top := 20;
    Width := 15;
    Height := 10;
    Caption := 'label1';
  end;

end;

delphinia 12. Jan 2011 13:48

AW: Label zur Laufzeit - Parent
 
Ha ja das weiss ich auch aber - wie gebe ich den Namen der GroupBox an die Label? kenne den namen ja nicht da ich mehrer GroupBox erstelle!

rollstuhlfahrer 12. Jan 2011 13:49

AW: Label zur Laufzeit - Parent
 
Entweder du hast noch die Variable zur Groupbox oder du solltest der GroupBox einen Namen geben, dass du sie mit Delphi-Referenz durchsuchenFindComponent() wieder finden kannst.

Bernhard

delphinia 12. Jan 2011 13:51

AW: Label zur Laufzeit - Parent
 
Danke - ABER


Delphi-Quellcode:
Parent := (FindComponent('gb_' + IntToStr(tab.FieldAsInteger(tab.FieldIndex['pid']))) as TGroupBox);
Wäre das dann doch die Label Wird nicht angezeigt (sehe ich nicht)
Delphi-Quellcode:
          Caption := 'Nachname:';
          Top := 25;
          Left := 25;
          Parent := (FindComponent('gb_' + IntToStr(tab.FieldAsInteger(tab.FieldIndex['pid']))) as TGroupBox);

          AutoSize := True;
          Height := 13;

rollstuhlfahrer 12. Jan 2011 13:55

AW: Label zur Laufzeit - Parent
 
dann prüfe mal nach, ob du nicht zufällig das Parent auf nil setzt, heißt, dass FindComponent die gesuchte Komponente auch findet.

Bernhard

ADD: Warum setzt du AutoSize auf True, wenn du danach eh die Höhe änderst?

himitsu 12. Jan 2011 13:56

AW: Label zur Laufzeit - Parent
 
Wie/wo hast du denn die GroupBox erstellt?

FindComponent steht hier für Self.FindComponent und es wird demnach nur das gefunden, wovon Self der Owner ist.

rollstuhlfahrer 12. Jan 2011 13:59

AW: Label zur Laufzeit - Parent
 
Klar, woher soll FindComponent denn auch wissen, von welchem Objekt es die Unterobjekte durchsuchen soll. (Wenn man ihm es nicht sagen kann.)


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:37 Uhr.
Seite 1 von 2  1 2      

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