Wie kann ich auf eine dynamisch erstellte ListBox verweisen und darauf reagieren?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo,
Ich musste eine GUI erstellen, die in der Lage war, ListBox-Einträge mit einem einfachen Klick auf eine Schaltfläche hinzuzufügen und zu entfernen.
Ich habe herausgefunden, wie man ListBox/Button-Paare (umhüllt in einer HListBox) mithilfe des folgenden Skripts dynamisch hinzufügt, aber ich bin mir nicht sicher, wie ich sie für die Schaltfläche „Löschen“ referenzieren soll.
NewWindow("WINDOW_NAME", << Modal,
OutlineBox("OUTLINE_NAME",
test_lb = VListBox(
ButtonBox("Hinzufügen",
test_lb << Anhängen(
HListBox (
OutlineBox("TEST_INSTANCE_" || Char(Heute())),
ButtonBox("Entfernen" //irgendwie nur das aktuelle HListBox-Objekt entfernen
)
)
)
),
ButtonBox ("OK")
)
)
);
Betreff: Wie referenziere ich eine dynamisch erstellte ListBox und verarbeite sie?Hallo Jason.
Das folgende Beispiel zeigt, wie Sie eine Funktion verwenden, um auf die ButtonBox selbst zu verweisen und dann das übergeordnete Element in der Schaltfläche Entfernen zu löschen:
New Window( "WINDOW_NAME",
<<MODAL></MODAL>
Ich hoffe das hilft!
Wendy
Betreff: Wie referenziere ich eine dynamisch erstellte ListBox und verarbeite sie?Als ich etwas länger daran gearbeitet habe, dachte ich, dass die einzige Möglichkeit darin bestand, jeder Box mit Eval(Parse(EvalInsert()))-Befehlen einen dynamischen Index zu geben.
Es könnte einen besseren Weg geben, aber das schien für mich zu funktionieren.
test_inst = 0;
NewWindow("WINDOW_NAME", << Modal,
OutlineBox("OUTLINE_NAME",
test_lb = VListBox(
ButtonBox("Add", test_inst += 1;
Eval(
Parse(
EvalInsert("
test_lb << Append(
test_inst_lb_^test_inst^ = HListBox(
OutlineBox(\!"TEST_INSTANCE_\!" || Char(^test_inst^)),
TextBox(Char(^test_inst^)),
test_inst_bb_^test_inst^ = ButtonBox(\!"Remove\!",
Print(<<GETPROPERTYLIST></GETPROPERTYLIST>