FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
TreeView excepción
Buenos días a todos.
Vamos a ver si me sé explicar: estoy utilizando un TtreeView (en Delphi 7)para hacer una estructura recursiva entre tablas de la base de datos, vamos, que tengo un porrón de nodos. De todas formas ese no es el problema, el caso es que si intento arrastrar un nodo (de dentro) al nodo raiz, y sobre paso este por encima, se cuelga mi aplicación y se cierra inmediatamente sin mostrarme ni un puñetero mensaje de error. Supongo que me he explicado como el culo, vamos ni que fuera lunes. Esto me pasaba también si intentaba arrastrar (drag over) un elemento desde la parte superior a cualquiera de los nodos "escondidos" por el scroll ya que no cabían en la pantalla y el treeview se hacia la "picha un lío" para tratar de encontrar el nodo target donde soltar el elemento. Esto lo solucioné de la siguiente manera, metiendo en el evento drag over estas lineas de código if Y <= DistanceToScroll then SendMessage(TV.Handle, WM_VSCROLL, SB_LINEUP, 0) else if Y >= TV.ClientHeight - DistanceToScroll then SendMessage(TV.Handle, WM_VSCROLL, SB_LINEDOWN, 0); Pues bien, esta "solución" no es del todo válida porque si el drag over se hace muy deprisa o se te va la pinza y te mueves por el árbol hasta el final, donde no hay nodos, la aplicación casca igual. En fin, si alguien me puede echar un cable con esto, estaría eternamente agradecido. |
|
|
|