PDA

Ver la Versión Completa : Como ocultar nodos en un TTreeView?


AFilth
11-08-2005, 14:22:55
Hola a todos. El problema es el siguiente:

Tengo un arbol con nodos y me gustaria ocultar ciertos nodos en un momento dado de ese ttreeview, es decir q no se vean pero sigan estando ahi. Esto es pq desde otra parte del formulario (otro arbol) se usan y es necesario q se mantengan pero no deben verse.

Alguien sabe como hacer esto?

Lo estoy intentando hacer en el OnDrawItem de ese arbol, pero si iuso
Sender.hide logicamente me oculta todo lo q tenga ese arbol y si uso
Node.'xxxxx' no veo nada q me pueda ser de utilidad para este proposito. Hay algun metodo o propiedad q se pueda aplicar a los nodos para ocultarlos??

Salu2 y gracias.

jmariano
11-08-2005, 16:53:02
Saludos!

Creo que uno nodo no se puede ocultar, lo maximo que se puede hacer es contraerlo pero nada mas (al menos, buscando en los mensajes de Windows sobre nodos no encontre ninguno que permita ocultarlo).

Lo que podrias hacer, como alternativa, es guardar el contenido del TreeView en un archivo en disco o en un búffer de memoria (usando el método "SaveToFile" o "SaveToStream") y despues eliminas aquellos nodos que no quieres que se vean (y cuando quieras volver a mostrarlos, cargas de nuevo el contenido del TreeView a traves del archivo o del búffer).

De todas formas, igual alguien te responde como hacerlo porque, la verdad, es interesante el tema.

Chao!

AFilth
12-08-2005, 08:27:38
Gracias por responder, esa no la veo una alternativa muy factible, ya q necesito tener acceso a esos datos en todo momento de forma q se trate como un objeto y si lo meto y lo saco de un fichero no gano demasiado. La verdad es q es raro q delphi no tenga nada para ocultar nodos sin llegar a eliminarlos, pero parece q es lo q hay.

Un saludo.