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?