Compartir a través de


El elemento del control de árbol indica información general

Cada elemento del control de árbol (CTreeCtrl) tiene un estado actual.Por ejemplo, un elemento puede seleccionar, disabled, expandido, etc.En general, el control de árbol establece automáticamente el estado de un elemento para reflejar las acciones del usuario, como la selección de un elemento.Sin embargo, también puede establecer el estado de un elemento utilizando la función miembro de SetItemState y recuperar el estado actual de un elemento utilizando la función miembro de GetItemState .Para obtener una lista completa de los estados de elemento, vea Constantes del control de vista de árbol en Windows SDK.

El parámetro de nState especifica el estado actual de un elemento.Un control de árbol puede cambiar el estado de un elemento para reflejar una acción del usuario, como selección de elementos o establecer el foco al elemento.Además, una aplicación puede cambiar el estado de un elemento para deshabilitar u ocultar el elemento o para especificar una imagen de grafía o to imagen.

Cuando se especifica o cambia el estado de un elemento, el parámetro de nStateMask especifica que indica los bits para establecer, y el parámetro de nState contiene los nuevos valores para esos bits.Por ejemplo, el ejemplo siguiente se cambia el estado actual de un elemento primario (especificado por hParentItem) en un objeto de CTreeCtrl (m_treeCtrl) a TVIS_EXPANDPARTIAL:

TVITEM curItem;
HTREEITEM hParentItem;

hParentItem = m_TreeCtrl.GetSelectedItem();

//modify the parent item to keep the '+' sign
curItem.mask = TVIF_STATE | TVIF_HANDLE;
curItem.hItem = hParentItem;
curItem.state = TVIS_EXPANDPARTIAL;
curItem.stateMask = TVIS_EXPANDPARTIAL;
m_TreeCtrl.SetItem(&curItem);

Otro ejemplo de cambiar el estado sería establecer la imagen de baraja de un elemento.Para ello, nStateMask debe incluir el valor de TVIS_OVERLAYMASK , y nState debe incluir el índice de base uno de la imagen de grafía desplazados a la izquierda ocho bits mediante la macro de INDEXTOOVERLAYMASK .El índice puede ser 0 para no especificar ninguna imagen de superposición.La imagen de mayúsculas y minúsculas se debe agregar a la lista de control del árbol de imágenes de grafía por una llamada anterior a la función de CImageList::SetOverlayImage .La función especifica el índice de base uno de la imagen para agregar; éste es el índice utilizado con la macro de INDEXTOOVERLAYMASK .Un control de árbol puede tener hasta cuatro imágenes de superposición.

Para establecer la imagen del estado de un elemento, nStateMask debe incluir el valor de TVIS_STATEIMAGEMASK , y nState debe incluir el índice de base uno de la imagen del estado se desplaza a la izquierda 12 bits mediante la macro de INDEXTOSTATEIMAGEMASK .El índice puede ser 0 para no especificar ninguna imagen de estado.Para obtener más información acerca de las imágenes de superposición y estado, vea Listas de imágenes del control de árbol.

Vea también

Referencia

Mediante CTreeCtrl

Conceptos

Controles (MFC)