Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Komponenten dynamisch erzeugen (https://www.delphipraxis.net/71296-komponenten-dynamisch-erzeugen.html)

mfs 12. Jun 2006 21:51


Komponenten dynamisch erzeugen
 
Guten Abend zusammen,

könnte mir bitte jamand dabei einen Tipp geben! Ich beschäftige mich gerade mit dem Dynamischen Erzeugen der Komponenten. Die folgende procedure erzeugt 20 Edits, die will ich aber in einem z.B. GroupBox1 stehen haben und nicht einfach auf dem Form1. Wie soll ich das zuweisen?

Delphi-Quellcode:

private
  FEdits: Array of TEdit;


procedure TForm1.Button1Click(Sender: TObject);
var
  i : Integer;
begin
  SetLength(FEdits, 20);
  for i:=0 to 19 do
  begin
    FEdits[i] := TEdit.Create(self);
    with FEdits[i] do
    begin
      parent := self;
      left := 400;
      top := i * 25;
      name := 'edit'+IntToStr(i);
      text := name;
    end;
  end;
end;
Danke für jede Hilfe..

Gruss mfs

mkinzler 12. Jun 2006 21:54

Re: Komponenten dynamisch erzeugen
 
In Zeile 15 die GroupBox als .Parent zuweisen

mfs 12. Jun 2006 22:07

Re: Komponenten dynamisch erzeugen
 
Super.. Es war einfacher, als ich mir gedacht habe :thumb:

Aber das neue Problem ist halt, dass die 20 Edits aus dem GroupBox rauskommen, also der ist zu klein für sie. Gibt es deswegen so eine Eigenschaft für GroupBox wie z.B. ScrollBar bei Memo, dass man sich die "unten stehenden" Edits anschaut, ohne dass vorher im Programm die Grösse vom GroupBox auf die 20 Edits angepasst werden musste?

Oder soll ich lieber was Anderes besser als GroupBox, in dem ich meine Edits erstellen kann, wobei solche Eigenschaften wie ScrollBar funktionieren könnten?

mkinzler 12. Jun 2006 22:11

Re: Komponenten dynamisch erzeugen
 
Nimm doch ne TScrollBox

mfs 12. Jun 2006 22:17

Re: Komponenten dynamisch erzeugen
 
Traumhaft..
Herzlichen Dank :-D

Jetzt habe ich was zu tun für die nächsten 4-5 Stunden :wink:


Beste Grüße
mfs


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