Comment référencer et agir sur un ListBox créé dynamiquement?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour,
J'avais besoin de créer une interface graphique capable d'ajouter et de supprimer des entrées ListBox d'un simple clic de bouton.
J'ai réussi à comprendre comment ajouter des paires ListBox / button (enveloppées dans une HListBox) de manière dynamique à l'aide du script ci-dessous, mais je ne sais pas comment les référencer pour le bouton de suppression.
NewWindow ("WINDOW_NAME", << Modal,
OutlineBox ("OUTLINE_NAME",
test_lb = VListBox (
ButtonBox ("Ajouter",
test_lb << Append (
HListBox (
OutlineBox ("TEST_INSTANCE_" || Char (Today ())),
ButtonBox ("Supprimer" // supprime en quelque sorte uniquement l'objet HListBox actuel
)
)
)
),
ButtonBox ("OK")
)
)
)
Re: Comment référencer et agir sur un ListBox créé dynamiquement?Salut Jason
L'exemple suivant montre comment utiliser une fonction pour auto-référencer la ButtonBox, puis supprimer le parent dans le bouton Supprimer:
New Window( "WINDOW_NAME",
<<MODAL></MODAL>
J'espère que ça aide!
Wendy
Re: Comment référencer et agir sur un ListBox créé dynamiquement?Travaillant un peu plus longtemps, j’ai pensé que la seule façon de le faire était de donner à chaque case un index dynamique à l’aide des commandes Eval (Parse (EvalInsert ())).
Il pourrait y avoir une meilleure façon de le faire, mais cela a semblé fonctionner pour moi.
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>