動的に作成されたListBoxを参照して操作する方法<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、
私は簡単なボタンクリックでListBoxエントリを追加したり削除したりできるGUIを構築する必要がありました。
以下のスクリプトを使って動的にListBox / button(HListBoxにラップされた)のペアを追加する方法を理解することができましたが、deleteボタンのためにそれらを参照する方法がわかりません。
NewWindow( "WINDOW_NAME"、<<モーダル、
OutlineBox( "OUTLINE_NAME"、
test_lb = VListBox(
ButtonBox( "追加"、
test_lb << Append(
HListBox (
OutlineBox( "TEST_INSTANCE_" || Char(Today()))、
ButtonBox( "削除" //どういうわけか現在のHListBoxオブジェクトだけを削除する
)
)
)
)
ButtonBox( "OK")
)
)
;
再:どのように参照し、動的に作成されたリストボックスを操作するには?こんにちは、Jasonです。
次の例では、関数を使用してButtonBoxを自己参照し、[削除]ボタンの親を削除する方法を示します。
New Window( "WINDOW_NAME",
<<MODAL></MODAL>
私はそれが役立つことを願っています!
ウェンディ
再:どのように参照し、動的に作成されたリストボックスを操作するには?もう少し長く作業するには、Eval(Parse(EvalInsert()))コマンドを使用して、各ボックスに動的インデックスを設定することが唯一の方法です。
もっと良い方法があるかもしれませんが、これは私のために働くように見えました。
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>