Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-11-2007
spyfenix spyfenix is offline
Miembro
 
Registrado: mar 2007
Posts: 35
Poder: 0
spyfenix Va por buen camino
uso de OnDragOver y OnGragDrop, en un TreeView

que tal gente
tengo mi TreeView y tengo el siguiente codigo, segun yo sirve para arrastrar los nodos dentro del mismo TreeView pero lo tengo y no me deja realizar lo que quiero, alguien sabra que onda con este codigo:

Código:
procedure TfrmCuentasContables.trvCuentasDragDrop(Sender, Source: TObject;
  X, Y: Integer);
var
   AnItem: TTreeNode;
   AttachMode: TNodeAttachMode;
   HT: THitTests;
begin
   if TrvCuentas.Selected = nil then
   Exit;
   HT := trvCuentas.GetHitTestInfoAt(X, Y) ;
   AnItem := TrvCuentas.GetNodeAt(X, Y) ;
   if (HT - [htOnItem, htOnIcon, htNowhere, htOnIndent]<> HT) then
   begin
     if (htOnItem in HT) or
        (htOnIcon in HT) then
         AttachMode := naAddChild
     else if htNowhere in HT then
        AttachMode := naAdd
     else if htOnIndent in HT then
        AttachMode := naInsert;
        TrvCuentas.Selected.
        MoveTo(AnItem, AttachMode) ;
   end;
end;

procedure TfrmCuentasContables.trvCuentasDragOver(Sender, Source: TObject;
  X, Y: Integer; State: TDragState; var Accept: Boolean);
var
  TargetNode, SourceNode : TTreeNode;
begin
  TargetNode := TrvCuentas.GetNodeAt(X, Y);
  //acepta arrastrar desde el mismo
  If (Source = Sender) and (TargetNode <> nil) Then
  begin
    Accept := True;
    //determina origen y destino
    SourceNode := TrvCuentas.Selected;
    //Busca la cadena padre destino
    while (TargetNode.Parent <> nil) and (TargetNode <> SourceNode) do
      TargetNode := TargetNode.Parent;
      //Si se encuentra el origen
      if TargetNode = SourceNode Then
        //no permine el arrastre a un nodo hijo
        Accept := False;
    end
    else
      Accept := False;
  end;
espero me puedan ayudar

muchas gracias

Última edición por spyfenix fecha: 15-11-2007 a las 23:37:37.
Responder Con Cita
  #2  
Antiguo 16-11-2007
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola spyfenix, he probado tu codigo y funciona bien, puede ser que solo te falte que la propiedad DragMode de tu TreeView este en dmAutomatic.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 16-11-2007
spyfenix spyfenix is offline
Miembro
 
Registrado: mar 2007
Posts: 35
Poder: 0
spyfenix Va por buen camino
que tal Caro
muchas gracias por tu respuesta, y si era eso, pero segun yo ya lo habia puesto, pero no guarde y cuando lo cheque estama manual, solo lo puse automatico y listo.
aa que detallitos los que nos sacan canas

gracias, saludos
Responder Con Cita
Respuesta



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
treeview kadith aguas Firebird e Interbase 1 21-11-2006 08:12:05
TreeView Iskariote0087 Varios 2 02-11-2006 20:04:07
Copiar un treeview a otro treeview mierda OOP 0 26-07-2006 12:29:17
Como utilizar el Treeview, desplegar la info del arbol binario al treeview leo21 Varios 2 08-04-2004 22:47:30
Como utilizar el Treeview, desplegar la info del arbol binario al treeview leo21 OOP 1 08-04-2004 22:42:44


La franja horaria es GMT +2. Ahora son las 21:32:05.


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