Hallo ich habe ein Problem.
Habe einmal eine Liste als ListBox1D deklariert.
Inhalt der ListBox1D:
1. Zeile
2. Zeile
3. Zeile
...
dann habe ich für jeden Eintrag von ListBox1D eine weitere Listbox erstellt
Inhalt der ListBox2DP1:
1.1. Zeile 1 der 2 Dimension
1.2. Zeile 2 der 2 Dimension
1.3. Zeile 3 der 2 Dimension
...
Inhalt der ListBox2DP2:
2.1. Zeile 1 der 2 Dimension
2.2. Zeile 2 der 2 Dimension
2.3. Zeile 3 der 2 Dimension
...
Inhalt der ListBox2DP3:
3.1. Zeile 1 der 2 Dimension
3.2. Zeile 2 der 2 Dimension
3.3. Zeile 3 der 2 Dimension
...
Liste ListBox2DP1 soll natürlich nur gezeigt werden wenn in ListBox1D die erste Zeile gewählt wurde. ListBox2DP2 nur wenn Zeile zwei in ListBox1D gewählt wurde usw.
Das kann man schön mit ListBox2DP1.visible:=true; lösen.
Das Problem ist nur wenn unter ListBox1D nicht 3 sondern 20 Punkte stehen.
Der Quelltext wird unübersichtlich und fehleranfällig weil man schnell vergisst eine ListBox2DPx.visible:=false zu machen.
Meine Frage ist:
Kann ich alle ListBox2Dxx aus Visible lassen und einfach nur das aktuell gewählte ListBox Element nach vorne ziehen ?
Das die anderen zwar Visible sind aber hinter der ListBox die mich gerade interessiert.
Oder kennt da einer eine elegantere lösung für ?
Mein Fertiges Problem hat auch noch eine Dimension 3
(1.1.1. xxxxx,1.1.2. xxxxx, 1.1.3. xxxxx,...)
daher ist meine bisherige lösung nicht gerade schön und bei vielen Punkten nicht mehr zu überblicken.
Ich danke jeden der mir weiterhelfen kann
Mfg
Robert
Habe einmal eine Liste als ListBox1D deklariert.
Inhalt der ListBox1D:
1. Zeile
2. Zeile
3. Zeile
...
dann habe ich für jeden Eintrag von ListBox1D eine weitere Listbox erstellt
Inhalt der ListBox2DP1:
1.1. Zeile 1 der 2 Dimension
1.2. Zeile 2 der 2 Dimension
1.3. Zeile 3 der 2 Dimension
...
Inhalt der ListBox2DP2:
2.1. Zeile 1 der 2 Dimension
2.2. Zeile 2 der 2 Dimension
2.3. Zeile 3 der 2 Dimension
...
Inhalt der ListBox2DP3:
3.1. Zeile 1 der 2 Dimension
3.2. Zeile 2 der 2 Dimension
3.3. Zeile 3 der 2 Dimension
...
Liste ListBox2DP1 soll natürlich nur gezeigt werden wenn in ListBox1D die erste Zeile gewählt wurde. ListBox2DP2 nur wenn Zeile zwei in ListBox1D gewählt wurde usw.
Das kann man schön mit ListBox2DP1.visible:=true; lösen.
Das Problem ist nur wenn unter ListBox1D nicht 3 sondern 20 Punkte stehen.
Der Quelltext wird unübersichtlich und fehleranfällig weil man schnell vergisst eine ListBox2DPx.visible:=false zu machen.
Meine Frage ist:
Kann ich alle ListBox2Dxx aus Visible lassen und einfach nur das aktuell gewählte ListBox Element nach vorne ziehen ?
Das die anderen zwar Visible sind aber hinter der ListBox die mich gerade interessiert.
Oder kennt da einer eine elegantere lösung für ?
Mein Fertiges Problem hat auch noch eine Dimension 3
(1.1.1. xxxxx,1.1.2. xxxxx, 1.1.3. xxxxx,...)
daher ist meine bisherige lösung nicht gerade schön und bei vielen Punkten nicht mehr zu überblicken.
Code:
procedure TForm1.ListBox1DClick(Sender: TObject);
var zustand1D:Boolean;
begin
case (ListBox1D.ItemIndex+1) of
1: begin
ListBox2DP1.Visible:=true;
ListBox2DP1.ItemIndex:=0;
ListBox2DP2.Visible:=false;
ListBox2DP3.Visible:=false;
end;
2: begin
ListBox2DP2.Visible:=true;
ListBox2DP2.ItemIndex:=0;
ListBox2DP1.Visible:=false;
ListBox2DP3.Visible:=false;
end;
3: begin
ListBox2DP3.Visible:=true;
ListBox2DP3.ItemIndex:=0;
ListBox2DP1.Visible:=false;
ListBox2DP2.Visible:=false;
end;
...
Ich danke jeden der mir weiterhelfen kann
Mfg
Robert