Есть ли способ отклонить перетаскивание элемента TListView в режиме автоматического перетаскивания до его запуска? - PullRequest
0 голосов
/ 26 августа 2018

Это просто.Я хочу иметь возможность отказаться от начала перетаскивания (до того, как это произойдет), если я думаю, что определенный элемент не подходит для перетаскивания.Это возможно?

Я пытался реализовать свою собственную систему перетаскивания, но в некоторых случаях она не работает должным образом:

procedure TNewListView.MouseMove(Shift: TShiftState; X, Y: Integer);
var StartIt: Boolean;
    DragIndex: Integer;
begin
 if (ssLeft in Shift) and not Dragging then begin
  DragIndex:= GetItemIndexAt(X, Y);
  if (DragIndex >= 0) and IsIndexSelected(DragIndex) then begin
   StartIt:= False;
   if Assigned(FOnBeforeDrag) then FOnBeforeDrag(Self, DragIndex, StartIt);
   if StartIt then BeginAutoDrag;
  end;
 end;
 inherited;
end;
...