Compartir vía


Usar controles de árbol

El uso típico de un control de árbol (CTreeCtrl) sigue el patrón siguiente:

  • El control se crea. Si el control se especifica en una plantilla de cuadro de diálogo o si se usa CTreeView, la creación es automática cuando se crea el cuadro de diálogo o la vista. Si quiere crear el control de árbol como una ventana secundaria de alguna otra ventana, use la función miembro Create.

  • Si quiere que el control de árbol use imágenes, establezca una lista de imágenes mediante una llamada a SetImageList. También puede cambiar la sangría si llama a SetIndent. Un buen momento para hacerlo es en OnInitDialog (para controles de cuadros de diálogo) o OnInitialUpdate (para vistas).

  • Coloque los datos en el control mediante una llamada a la función InsertItem de CTreeCtrl una vez por cada elemento de datos. InsertItem devuelve un identificador del elemento que puede usar para hacer referencia a él más adelante, por ejemplo, al agregar elementos secundarios. Un buen momento para inicializar los datos es en OnInitDialog (para controles de cuadros de diálogo) o OnInitialUpdate (para vistas).

  • Cuando el usuario interactúa con el control, envía distintos mensajes de notificación. Puede especificar una función para controlar cada uno de los mensajes que quiere controlar si agrega una macro ON_NOTIFY_REFLECT en el mapa de mensajes de la ventana de control o si agrega una macro ON_NOTIFY al mapa de mensajes de la ventana primaria. Vea Mensajes de notificación de control de árbol más adelante en este tema para obtener una lista de las posibles notificaciones.

  • Llame a las distintas funciones miembro Set para establecer valores para el control. Los cambios que puede realizar incluyen establecer la sangría y cambiar el texto, la imagen o los datos asociados a un elemento.

  • Use las distintas funciones Get para examinar el contenido del control. También puede recorrer el contenido del control de árbol con funciones que permiten recuperar identificadores de elementos primarios, secundarios y del mismo nivel de un elemento especificado. Incluso puede ordenar los elementos secundarios de un nodo determinado.

  • Cuando haya terminado con el control, debe asegurarse de que se destruya correctamente. Si el control de árbol está en un cuadro de diálogo o si es una vista, este y el objeto CTreeCtrl se destruyen automáticamente. Si no es así, se debe asegurar de que tanto el control como el objeto CTreeCtrl se destruyan correctamente.

Consulte también

Uso de CTreeCtrl
Controles