Einzelnen Beitrag anzeigen

LoZe

Registriert seit: 27. Dez 2016
Ort: Ulm
40 Beiträge
 
Delphi 12 Athens
 
#1

[FMX] TTreeView onDradDrop Handler

  Alt 12. Sep 2018, 16:15
Hallo, ich habe da ein kleines Problem.

ich will die User im TreeView per Drag and Drop in die verschiedenen Schichten einteilen.
aber ich will nicht des ein User einem User Untergeordnet werden kann.

ich habe das jetzt im Moment so Gelöst:
Delphi-Quellcode:
procedure TForm2.TreeView1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Single);
var
  node:TTreeViewItem;
begin
  if (TreeView1.Selected <> nil) and (SsLeft in Shift) then
  begin
    node:= TreeView1.Selected;
    if node.text[1] = '@then BeginInternalDrag(TreeView1.Selected, Image2.Bitmap);
  end;
end;


procedure TForm2.TreeView1DragDrop(Sender: TObject; const Data: TDragObject;
  const Point: TPointF);
var
  TargetNode : TTreeViewItem;
  SourceNode : TTreeViewItem;
begin
  TargetNode := TreeView1.ItemByPoint(Point.X,Point.Y);
  SourceNode := Data.Source as TTreeViewItem;

  if op = TDragOperation.None then
  begin
    Abort; // <- Hier der Abbruch ***
  end;
  ShowMessage(SourceNode.Text + ' -> ' + TargetNode.Text);
end;
mein Problem Dabei ist dass, das Drag Object weiterhin Sichtbar ist wie breche ich den Drag Vorgang ab?
Miniaturansicht angehängter Grafiken
unbenannt.png  
Chris

Geändert von LoZe (13. Sep 2018 um 08:51 Uhr)
  Mit Zitat antworten Zitat