【问题标题】:Drag Drop a ListBoxItem on the same ListBox in Delphi xe firemonkey在 Delphi xe firemonkey 中将 ListBoxItem 拖放到同一个 ListBox 上
【发布时间】:2014-06-25 16:53:30
【问题描述】:

我需要一种方法在移动应用程序中对同一 listbox 中的 listboxItems 进行排序。

我在表单中添加了listbox,并添加了一些listboxitems,我将listboxitemsDargMode 设置为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


【解决方案1】:

我认为您需要检查一下,您是否检查了 ListBox1AllowDrag 属性。

并检查是否设置 ListBox1 DragMode Manual

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-22
    • 1970-01-01
    • 2011-09-26
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多