<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />大家好,
我正在尝试为 JSL 中的两个列表框实现拖放行为。 基本上,我试图复制普通列表框的 colListBox 对象已经存在的拖放行为,即用户可以单击列表框中的任何项目,单击,将其拖放到另一个列表框。 我已经成功地实现了接收投递箱所需的行为,但是,我正在努力处理源投递箱。 基本上,我不确定如何实现我想要的行为。 我得到的最接近的是为列表框的父鼠标框禁用设置单击功能,启用拖动,并将以下代码放在 << set drag begin 和 << set drag end 函数中:
<< Set Drag Begin(
Function( {this, clickpt},
If( N Items( (this << child) << Get Selected ) == 0,
(this << child) << Set Selected(1);
0;
,//Else
test = ( (this << child) << Get Selected );
test[1];
);
);
);
和这个
<< Set Drag End(
Function( {this, clickpt, how},
If( how == "move",
(this << child) << Remove Selected;
)
);
);
但是这样做意味着单击不能选择列表框中的项目,用户必须双击,否则第一个项目将被选中。 这并不理想,但这是我能够开始工作的全部。 任何帮助或指向更多信息的指针将不胜感激。
关于第二个注意事项,有时当我从第一个列表框中拖动某些内容时,有时我拖动的项目不会删除。 这只会间歇性地发生,但我不知道为什么会发生,也不知道如何解决。 谢谢。
抱歉没有早点回来。 我被拉到其他项目上,有一段时间没有机会重新访问 JSL。 这对我很有用。 评论也真的很好。 只是想知道网络上是否有更多关于 MouseBox 的文档? 我在追踪它方面没有取得多大成功,希望能获得更多有关 MouseBox 机制、删除提交等的信息。干杯!