Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > .NET
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-06-2006
XaRz XaRz is offline
Miembro
 
Registrado: ene 2006
Posts: 13
Poder: 0
XaRz Va por buen camino
TreeView Drag and Drop en Delphi.net

Hola a todos,

Estoy intentando hacer funcionar un drag and drop para un treeview programado con TTreeView que funcione para un control TreeView de .NEt.

Lo he intentado de varias formas...la última a través del código de Marco Cantu del libro Mastering Delphi 2005 que va como sigue:
Código:
procedure EquipCom.TreeView1_DragDrop(sender,source: System.Object; e: System.Windows.Forms.DragEventArgs;
        point:System.Drawing.point);
var
 TargetNode,SourceNode:TTreeNode;
begin
    TargetNode:=treeView1.GetNodeAt(point);
    if TargetNode <> nil then
    begin
      SourceNode:=TreeView1.SelectedNode;
      SourceNode.MoveTo(targetNode,naAddChildFirst);
      TargetNode.Expand(False);
      treeView1.SelectedNode:=TargetNode;
    end;

end;

procedure EquipCom.TreeView1_DragOver(sender,source: System.Object;point:System.Drawing.point;
      state:TDragState;var Accept:boolean; e: System.Windows.Forms.DragEventArgs);
var
TargetNode,SourceNode:TTreeNode;
begin
      TargetNode:=TreeView1.GetNodeAt(Point);
      if ((source=Sender) AND(targetNode <> nil)) then
      begin
        Accept:=True;
        SourceNode:=TreeView1.SelectedNode;
        while (targetNode.Parent<> nil) and (targetNode<> SourceNode) do
        begin
          targetNode:=TargetNode.Parent;
        end;
        if TargetNode = SourceNode then
        Accept:=False;
      end
      else Accept:=False;
end;
Pero claro, hay cosas que de calle no están bien para .NET, por ejemplo en
Código:
SourceNode:=TreeView1.SelectedNode;
nos darà un problema de tipos ya que: en
Código:
var
TargetNode,SourceNode:TTreeNode;
le estamos definiendo un TTreeNode que no es lo mismo que un TreeNode en .NET
Aparte el compilador se queja cuando le assigno al drag&drop cabeceras diferentes de:
Código:
procedure EquipCom.TreeView1_DragOver(sender: System.Object;
e: System.Windows.Forms.DragEventArgs);
En mi caso la cabecera que intento assignarle al DragOver es:
Código:
procedure EquipCom.TreeView1_DragOver(sender,source: System.Object;point:System.Drawing.point;
      state:TDragState;var Accept:boolean; e: System.Windows.Forms.DragEventArgs);
.

En fin, si alguna lumbrera me puede orientar..yo lo único que desearia són acciones de drag&drop en un treeview. Pero estoy encallado.

Ala,saludos y gracias por adelantado.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Drag & Drop DanForever Varios 2 01-06-2006 14:24:25
Drag&Drop !!! rafstyle OOP 6 27-07-2004 04:39:41
Drag&Drop entre dos TreeView ceocarbajal OOP 1 08-05-2004 09:21:41
Drag&Drop xflo Lazarus, FreePascal, Kylix, etc. 0 13-10-2003 19:31:22
Drag & Drop cone220 Varios 1 26-05-2003 19:06:34


La franja horaria es GMT +2. Ahora son las 08:35:55.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi