ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
388
388
EMPFEHLEN
-
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.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
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
RobertIch denke, also bin ich.
-
Die Lösung für Dich heißt
Dynamisches Erzeugen von Komponenten.
Dazu findest Du bereits ein paar Threads im Forum. Schau doch mal.
Der Tipp:
Verwende ein Array von Listboxen, z.B. MeineListen
Setzte dann MeineListen[ Index ].visible := true.
Wenn Du das Array in einer Schleife durchläufst, dann kannst Du alle außer Index auf false setzen.
So kannst Du bequem auch 100 Listbox-Einträge verwenden.
Gruß
vop
Ähnliche Themen
-
JFrame nach SplashScreen ganz nach vorne...
Von Romsl im Forum JavaAntworten: 5Letzter Beitrag: 05.06.11, 14:06 -
c++ windows forms bild ganz schnell anzeigen
Von aL1ien im Forum .NET Windows FormsAntworten: 1Letzter Beitrag: 07.07.09, 13:09 -
einzelne Elemente in JList mit MouseEvent anzeigen
Von BlockeR im Forum JavaAntworten: 6Letzter Beitrag: 02.10.08, 07:18 -
Ganz von Vorne
Von dg87 im Forum Relationale DatenbanksystemeAntworten: 9Letzter Beitrag: 04.09.08, 15:06 -
Hintergrundbild immer ganz anzeigen
Von nadjak im Forum CSSAntworten: 2Letzter Beitrag: 23.05.05, 10:35





Zitieren
Login





