Compartir a través de


Listas de imágenes del control de árbol

Cada elemento de un control de árbol (CTreeCtrl) puede tener un par de imágenes con mapa de bits asociadas. Las imágenes aparecen en el lado izquierdo de la etiqueta de un elemento. Se muestra una imagen cuando se selecciona el elemento y la otra se muestra cuando el elemento no está seleccionado. Por ejemplo, un elemento podría mostrar una carpeta abierta cuando está seleccionada y una carpeta cerrada cuando no está seleccionada.

Para usar imágenes de elementos, debe crear una lista de imágenes mediante la construcción de un objeto CImageList y el uso de la función CImageList::Create para crear la lista de imágenes asociada. A continuación, agregue los mapas de bits deseados a la lista y asocie la lista al control de árbol mediante la función miembro SetImageList. De forma predeterminada, todos los elementos muestran la primera imagen de la lista de imágenes para los estados seleccionados y no seleccionados. Para cambiar el comportamiento predeterminado de un elemento determinado, especifique los índices de las imágenes seleccionadas y no seleccionadas al agregar el elemento al control de árbol mediante la función miembro InsertItem. Puede cambiar los índices después de agregar un elemento mediante la función miembro SetItemImage.

Las listas de imágenes de un control de árbol también pueden contener imágenes superpuestas, diseñadas para superponerse en imágenes de elementos. Un valor distinto de cero en bits de 8 a 11 de un estado de un elemento de control de árbol especifica el índice de base uno de una imagen superpuesta (0 indica que no hay ninguna imagen superpuesta). Dado que se usa un índice de 4 bits y de base uno, las imágenes superpuestas deben estar entre las primeras 15 imágenes de las listas de imágenes. Para más información sobre los estados de los elementos de control de árbol, consulte Información general sobre los estados de elementos de control de árbol anteriormente en este tema.

Si se especifica una lista de imágenes de estado, un control de árbol reserva espacio a la izquierda del icono de cada elemento para una imagen de estado. Una aplicación puede usar imágenes de estado, como casillas activadas y desactivadas, para indicar los estados de elementos definidos por la aplicación. Un valor distinto de cero en bits de 12 a 15 especifica el índice de base uno de una imagen de estado (0 indica que no hay imagen de estado).

Al especificar el valor de I_IMAGECALLBACK en lugar del índice de una imagen, puede retrasar la especificación de la imagen seleccionada o no seleccionada hasta que el elemento esté a punto de volver a dibujarse. I_IMAGECALLBACK dirige el control de árbol para consultar la aplicación para el índice mediante el envío del mensaje de notificación TVN_GETDISPINFO .

La función miembro GetImageList recupera el identificador de la lista de imágenes de un control de árbol. Esta función es útil si necesita agregar más imágenes a la lista. Para más información sobre las listas de imágenes, consulte Usar CImageList, CImageList en la referencia de MFC y Listas de imágenes en Windows SDK.

Consulte también

Uso de CTreeCtrl
Controles