Ver Mensaje Individual
  #1  
Antiguo 21-12-2018
bucanero bucanero is offline
Miembro
 
Registrado: nov 2013
Ubicación: Almería, España
Posts: 208
Reputación: 11
bucanero Va camino a la fama
Cancelar una operacion de Drag And Drop

Hola a todos,

Utilizo el componente JvDBTreeView de las JEDIS para mostrar una estructura de árbol almacenada en una BBDD. Y por defecto las funciones de drag and drop modifican la estructura del árbol, cambiando automáticamente los indices padre del nodo que se esta arrastrando.

Y pretendo añadirle un nuevo modo de funcionamiento, de tal forma que al mover un nodo, en vez de asignarle el padre, lo que haga sea cambiarle el orden en el arbol.

El problema me lo encuentro en que necesito poder detener la operación de drag and drop para que no retorne el control al componente y este automáticamente me cambie el padre del nodo.

La idea es la siguiente

Código Delphi [-]
procedure TForm2.JvDBTreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin

  if DragMode = dmSort then begin
    // Si estoy en modo Ordenacion, ejecute la ordenación
    SortNodo;
    // y detengo el proceso de DragAndDrop para que el componente no retome el control
    CancelDragAndDrop;
  end;
end;

Hasta ahora lo he conseguido lanzando una excepcion dentro del procedimiento CancelDragAndDrop, pero no es elegante ni queda bien.


Alguna idea de como hacer esto.
Responder Con Cita