Discussion:
große Komponente - mehre Elemente gleichzeitig verarbeiten
(zu alt für eine Antwort)
Jens Kallup
2021-01-16 03:23:18 UTC
Permalink
Hallo,

würde gerne eine Komponente erstellen, die mir RückZuck
verschiedene Elemente anzeigt bzw. berarbeiten kann.

Es handelt sich hier bei um eine vielzahl von CheckBoxen,
ComboBoxen, sowie Editier-Felder.

Die CheckBoxen hatte ich schon bereits hinbekommen, allerdings
fehlt mir noch nach jeder vierte CheckBox etwas - der Rest.

Folgenden Aufbau sollte das ganze haben:

linke Seite: gefolgt von: dann bis lim oo max. 12
ComboBox CheckBox CheckBox CheckBox CheckBox ComboBox ...
Edit Edit ...

wie kann man das bewerkstelligen?

Checkers : Array of TCustomCheckBox;
Combers : Array of TCustomComboBox;
Edits : Array of TCustomEdit;



constructor TACTimeCheckPanel.Create(AOwner: TComponent);
var
i,j,k,l,ypos, xpos: Integer;
checker_tag: Integer;
begin
inherited Create(AOwner);
Caption := '';
Text := '';
l := 0;

setLength(Checkers,24*5);
setLength(Combers,16);
setLength(edits,16);

checker_tag := 1;

xpos := 110;
ypos := -30;

for j := 0 to 23 do begin xpos := xpos + 22;
for i := 0 to 3 do begin

Checkers[j+(i*23)] := TCustomCheckBox.Create(self);
Checkers[j+(i*23)].Parent := self;

with Checkers[j+(i*23)] do begin
Width := 20;
Height := 20;
Left := xpos;
Top := ypos;
Enabled := true;
Visible := true;
Tag := checker_tag;
end;

inc(checker_tag);
ypos := ypos + 49;
end;
ypos := 22;
case j of
0: begin xpos := 10; end;
3: begin xpos := 190; end;
end;
begin

for l := 0 to 3 do begin
combers[l] := TCustomComboBox.Create(self);
combers[l].Parent := self;

edits[l] := TCustomEdit.Create(self);
edits[l].Parent := self;

with combers[l] do begin
Left := xpos;
Width := 100;
Height := 20;
Top := ypos;
Enabled := true;
Visible := true;
end;

with edits[l] do begin
Left := xpos;
Width := 100;
Height := 20;
Top := ypos + 24;
Enabled := true;
Visible := true;
end;

inc(ypos,48);
end;
end;
xpos := 110;
ypos := -30;
end;
end;
Jens Köhler
2021-01-16 08:40:11 UTC
Permalink
Post by Jens Kallup
Hallo,
würde gerne eine Komponente erstellen, die mir RückZuck
verschiedene Elemente anzeigt bzw. berarbeiten kann.
Es handelt sich hier bei um eine vielzahl von CheckBoxen,
ComboBoxen, sowie Editier-Felder.
Hallo,

wenn ich das so richtig sehe, bis Du mit Deinen Schleifen durcheinander
geraten. Deine ComboBoxen und Edits werden mit in j-Schleife erzeugt.
Damit erzeugst Du 23 x 3 ComboBoxen und Edits und überschreibst sie in
den Array, weil diese Schleife immer nur von 0-3 läuft

Um diese UhrZeit nicht verwunderlich :-)

Jens

Loading...