![]() |
automatisch Checkboxen aus ARRAY erzeugen
Hallo,
ich hab folgendes Problem: Ich habe ein variables (bzgl. Anzahl) Array von Textfelder (z.B. rot, grün, weiss, ...). Dieses lese ich ein, so daß mir die Felder als Textwerte in farbe[i] zur "Verfügung" stehen. Nun möchte ich diese Felder als Checkboxen darstellen, d.h. für jeden gelesenen Wert soll - automatisch - eine Checkbox auf meiner Form angelegt werden, die dann mit dem Textwert "gecaptuered" werden soll. Alle resultierenden Checkboxen sollen dann noch in einer Groupbox zusammengefasst arrangiert werden! Wie macht man dies - möglichst flexibel? Gruß, Heinz |
Re: automatisch Checkboxen aus ARRAY erzeugen
Indem man durch den array iteriert und die Checkboxn manuell erzeugt
|
Re: automatisch Checkboxen aus ARRAY erzeugen
HI,
du erstellst als erstes eine Groupbox, der du einen Titel und die Punkte Top und Left zuweist. Dann gahst du in den Code und erstellst deine Checkboxen. Die Größe der Groupbox ergibt sich aus der Menge der Checkboxen.
Delphi-Quellcode:
Bernhard
//... hier kommt dein Lesevorgang an.
var posxCheckbox: Integer; for i := 1 to Anzahl do begin With TCheckbox.Create(Self) do begin Name := 'CheckBox' + IntToStr(i); // damit es keine 2 doppelten gibt. Caption := Titel; // aus deinem Array Left := 10; Top := (i-1) * 20 + 5; Checked := true; {false;} Parent := Groupbox1; end; end; |
Re: automatisch Checkboxen aus ARRAY erzeugen
Ich würde die Komponenten-Referenzen speichern und Namen weglassen und sttatdessen .Tag auf den Index setzen.
|
Re: automatisch Checkboxen aus ARRAY erzeugen
Hi Rollstuhlfahrer,
Dein Tipp hat mir schon sehr geholfen - alle CHECKBOXEN wurden richtig angelegt! Leider alle untereinander und nicht an die Groupboxgröße angepasst ;-( Ich habe die Groupbox schon fertig auf die Form gelegt: LEFT 32 TOP 88 HEIGHT 121 WITDH 1033 |
Re: automatisch Checkboxen aus ARRAY erzeugen
Dann musst du die Position bei der Erzeugung setzen
|
Re: automatisch Checkboxen aus ARRAY erzeugen
Ich glaub, dass du die Komponentennamen brauchst, damit es keine sollelten Checkboxem gibt.
|
Re: automatisch Checkboxen aus ARRAY erzeugen
Nein, wenn man keinen setzt geht es -> Zugriff über .Tag
|
Re: automatisch Checkboxen aus ARRAY erzeugen
Hallo,
irgendwie klappt es noch nicht:
Delphi-Quellcode:
sag mal rollstuhlfahrer, wofür und wie wird in deinem Code die Variable "posxCheckbox: Integer;" genutzt - vielleicht liegt da der Schlüssel?
Groupbox1.Caption:=' Länder ';
Groupbox1.Left:=32; Groupbox1.Top:=88; Groupbox1.Height:=121; Groupbox1.Width:=1033; for i := 1 to l_anz do begin With TCheckbox.Create(Self) do begin Name := 'CheckBox' + IntToStr(i); // damit es keine 2 doppelten gibt. Caption := land[i]; // aus deinem Array Left := 20; Top := (i-1) * 20 + 5; Checked := false; Parent := Groupbox1; end; end; [edit=SirThornberry]Delphi Tags gesetzt - nächstes mal bitte selbst machen - Mfg, SirThornberry[/edit] |
Re: automatisch Checkboxen aus ARRAY erzeugen
Setz mal den Parent gleich nach dem Create
.Top ist Relativ zum Parent |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz