Delphi - TreeView

 
Vista:

TreeView

Publicado por laphat (4 intervenciones) el 11/11/2002 15:43:19
Como poner 'enabled = false' una opcion en un menu TreeView?

estoy utilizando delphi 5.0, me gustaria inhabilitar algunas opciones del menu, para algunos usuarios.

como puedo hacerlo?

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:TreeView

Publicado por Carlos (1 intervención) el 13/11/2002 02:43:26
Bueno, si te fijas bien en el TTreeView, cada nodo del àrbol es un objeto TNode. Ese objeto tiene sus propias propiedades y eventos. La verdad no recuerdo si tiene esa propiedad, pero si tiene varios eventos que te permitirian programar lo que deseas.
Delphi, en alguno de sus programas de ejemplo, maneja cada nodo de manera individual para cambiarle el font (si mal no recuerdo) y te podrìa servir de linea para comenzar.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:TreeView

Publicado por Ernesto D'Spirito (706 intervenciones) el 14/11/2002 09:05:40
Los nodos de un TreeView no tienen una propiedad Enabled, y tampoco tienen una propiedad Tag a disposición del programador. Una solución sería mantener en una lista los nodos que están inhabilitados, y manejar el evento OnChanging del TreeView para impedir o permitir que el usuario cambie el nodo seleccionado en función de si el nodo elegido por el usuario está o no en la lista de nodos inhabilitados respectivamente. En el caso de otros eventos, primero te fijas si el nodo está o no en la lista para ignorar el evento o procesarlo respectivamente.

Sería conveniente que capturaras el evento OnCustomDrawItem para pintar los elementos del TreeView a mano, usando un color diferente (como por ejemplo clGrayText) para diferenciar los nodos inhabilitados modificando la propiedad Font.Color del Canvas del TreeView según el caso. Hay un ejemplo que puede servirte como base para el evento OnCustomDrawItem en la ayuda de Delphi.

Ernesto D'Spirito
http://www.latiumsoftware.com/es
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar