Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Cancelar una operacion de Drag And Drop (https://www.clubdelphi.com/foros/showthread.php?t=93660)

bucanero 21-12-2018 14:02:21

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.


La franja horaria es GMT +2. Ahora son las 20:48:29.

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