<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、drop commit 等機制的更多信息。乾杯!