TreeViewの使用方法(2)

 

全ノードを展開/縮小する
全ノードを消去する
ノードをドラッグ&ドロップで移動する
ノードをドラッグ&ドロップで移動する 1/2
1/2
ドラッグ処理とドロップ処理でコード記述が必要です。

TreeViewのDragModeプロパティをdmAutomaticにします。
TreeView1のOnDragOverイベントOnDragDropイベントで次のようにコードを記述します。
今回はドロップ先の子ノードとして追加しています。


procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  //ドラッグ処理
  Accept:=False;
  if Source is TTreeView then
    if TreeView1.GetNodeAt(X,Y) <> nil then
      Accept:=True;
end;
procedure TForm1.TreeView1DragDrop(Sender, Source: TObject; X,Y: Integer); var DropNode : TTreeNode; begin //ドロップ処理 DropNode := TreeView1.GetNodeAt(X, Y); if DropNode <> nil then TreeView1.Selected.MoveTo(DropNode,naAddChild); end;

1/2