【发布时间】:2014-06-25 16:53:30
【问题描述】:
我需要一种方法在移动应用程序中对同一 listbox 中的 listboxItems 进行排序。
我在表单中添加了listbox,并添加了一些listboxitems,我将listboxitems 的DargMode 设置为dmAutomatic,我已经编写了这个事件处理程序:
procedure TForm1.ListBox1DragDrop(Sender: TObject; const Data: TDragObject;
const Point: TPointF);
var
DropedTarget : TListBoxItem;
begin
DropedTarget := ListBox1.ItemByPoint(Point.X, Point.Y);
if (DropedTarget <> nil) then
(Data.Source as TListBoxItem).Index := DropedTarget.Index;
end;
procedure TForm1.ListBox1DragOver(Sender: TObject; const Data: TDragObject;
const Point: TPointF; var Operation: TDragOperation);
begin
if Data.Source is TListBoxItem then
Operation := TDragOperation.Move;
end;
问题是列表框中的项目根本无法拖动。
我错过了什么?
【问题讨论】:
-
Delphi XE 是包含 FireMonkey 之前的旧版本。如果您说出您实际使用的是哪个版本,这将有助于人们回答。
-
@MikeSutton 我以为人们会从参数中的
var Operation: TDragOperation得到它。
标签: delphi drag-and-drop delphi-xe firemonkey delphi-xe6