Hallo,
ich möchte mehrere Listboxen mit Bezug aufeinander nutzen. Die erste Listbox soll die Auswahl a oder b haben. Bei der zweiten sollen, abhängig ob a oder b in Listbox1 gewählt wurde, verschiedene Auswahlmöglichkeiten angezeigt werden. Soweit funktioniert es. Ich kann dann aber die Auswahlmöglichkeiten in Listbox2 nicht anklicken. Es soll danach noch eine dritte Listbox geben welche sich auf die Auswahl der zweiten bezieht. Wie lässt es sich lösen, dass ich die zweite Listbox zwar anklicken aber nichts auswählen kann?
Außerdem zeigt mir das Programm bei der Ausführung eine System-Fehlermeldung "out of bound" an, wenn ich Listbox2 anwähle bevor ich eine Auswahl in ListBox1 treffe. Lässt sich diese Meldung ausschalten?
Vielen Dank im Voraus und schöne Feiertage =)
Hier mein Quelltext:
Delphi-Quellcode:
procedure ListBox2Click(Sender: TObject);
var x:String;
begin
x:= Listbox1.Items[ListBox1.Itemindex] ;
if ListBox1.ItemIndex >=0 then
begin
if x='a' then
begin
ListBox2.Items.Clear;
ListBox2.Items.Add('a1');
ListBox2.Items.Add('a2');
end
else if x='b' then
begin
ListBox2.Items.Clear;
ListBox2.Items.Add('b1');
ListBox2.Items.Add('b2');
end
end
else ShowMessage('Bitte Wert aus Liste1 auswählen');
end;
procedure ListBox3Click(Sender: TObject);
var y:String;
begin
if ListBox2.ItemIndex >=0 then
begin
y:= Listbox2.Items[ListBox2.Itemindex] ;
if y='a1' then
begin
ListBox3.Items.Clear;
ListBox3.Items.Add('a11');
ListBox3.Items.Add('a12');
end
else if y='b2' then
begin
ListBox3.Items.Clear;
ListBox3.Items.Add('b21');
ListBox3.Items.Add('b22');
end
else if y='a2' or 'b1' then
ListBox4.Items.Clear;
end
else ShowMessage('Bitte Wert aus Liste2 auswählen');
end;