FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Arrastrar y soltar en un TreeView
Hola compañeros del foro.
Utilizo Delphi 7. Mi ide es poder mover los nodos en un TreeView de una rama a otra. Su estructura es de varias ramas con 4 o 5 niveles. Busque en el foro y encontre código para poder realizarlo. He probado y no consigo hacerlo. Código:
procedure TForm1.MenusDragDrop(Sender, Source: TObject; X, Y: Integer); var AnItem: TTreeNode; AttachMode: TNodeAttachMode; HT: THitTests; begin if Menus.Selected = nil then Exit; HT := Menus.GetHitTestInfoAt(X, Y) ; AnItem := Menus.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; Menus.Selected.MoveTo(AnItem, AttachMode) ; end; end; Saludos. Gracias... |
#2
|
||||
|
||||
Hola Gabriel2 aqui te pongo un ejemplo espero te sirva.
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
#3
|
|||
|
|||
Gracias y una consultita màs sobre TreeView
Primero que todo gracias...
Lo que necesito es armar un arbol con datos de una DB. De que forma lo podría armar. Por ejemplo: Tengo el registro 1000 de nivel 0 que es el que inicia el arbol, dentro de este se encuentra el registro 1100 y 1200 que son ramas del 1000 y son de nivel 1, dentro de 1100 se encuentra 1110 de nive 2 que es una rama de 1100... En forma más gráfica: Nivel-0 Nivel-1 Nivel-2 1000......--->....1100.....--->......1110 . ...--->....1200 2000......--->....2100.....--->......2110 . ...--->....2200.....--->......2210 Qué datos guardarías en una DB para luego crear los Nodos y cómo los crearías? |
#4
|
||||
|
||||
Hola
Los campos que yo tendria en mi BD serian codigo, descripcion, nivel de tipo string, puedes tener otros mas pero esos me parecen los que te armarian el arbol. Lo que se me ocurre que puede ser que no sea lo mejor pero aqui te lo pongo, alguien que encuentre una solución mejor supongo que te respondera tambien. Crear un archivo con tabulaciones en base al nivel osea: nivel 1 -> ninguna tabulacion nivel 2 -> 1 tabulacion nivel 3 -> 2 tabulaciones y asi sucesivamente porque tu arbol puede tener n niveles
con eso tendrias tu archivo creado con tabulaciones y todo ahora seria cargarlo dentro del arbol que seria de esta forma
conste suponiendo que estamos manteniendo la codificación del codigo que pusiste y que seria de tipo string para que te lo ordene de la forma que tu quieres, otra forma seria hacerlo recursivo pero nose como, eso seria espero te sirva chausito.
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
|
|
|