Partilhar via


Visão geral de estados de item de controle de árvore

Cada item em um controle de árvore (CTreeCtrl) tem um estado corrente.Por exemplo, um item pode ser selecionado, desabilitado, expandido e assim por diante.Na maior parte, o controle de árvore define automaticamente o estado do item para refletir sistema autônomo ações do usuário, sistema autônomo seleção de um item.No entanto, você também pode conjunto o estado de um item usando o SetItemState função de membro e recuperar o estado corrente de um item usando o GetItemStatefunção de membro .Para obter uma lista completa dos Estados do item, consulte Constantes de controle do modo de exibição de árvore in the Windows SDK.

Estado corrente do item é especificado pelo nState parâmetro. Um controle de árvore pode alterar o estado do item para refletir uma ação do usuário, sistema autônomo selecionar o item ou definir o foco para o item.Além disso, um aplicativo pode alterar o estado de um item para desabilitar ou ocultar o item ou para especificar uma imagem de sobreposição ou imagem de estado.

Quando você especifica ou altera o estado do item, o nStateMask parâmetro especifica qual estado de bits para conjunto e o nState parâmetro contém os novos valores para esses bits. Por exemplo, o exemplo a seguir altera o estado corrente de um item pai (especificado por hParentItem) em um CTreeCtrl () objetom_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);

Outro exemplo de como alterar o estado seria conjunto imagem de sobreposição do item.Para fazer isso, nStateMask deve incluir o TVIS_OVERLAYMASK valor, e nState deve incluir o índice com base em um da imagem sobreposição deslocado deixado oito bits usando o INDEXTOOVERLAYMASK macro.O índice pode ser 0 para não especificar nenhuma imagem de sobreposição.A imagem de sobreposição deverá ter sido adicionada à lista do controle da árvore de imagens de sobreposição por uma telefonar anterior a CImageList::SetOverlayImage função.A função especifica o índice com base em um de imagem para adicionar; este é o índice usado com o INDEXTOOVERLAYMASK macro.Um controle de árvore pode ter até quatro imagens de sobreposição.

Para conjunto a imagem de estado do item, nStateMask deve incluir o TVIS_STATEIMAGEMASK valor, e nState deve incluir o índice baseado em um de estado de imagem deslocada esquerda 12 bits usando o INDEXTOSTATEIMAGEMASK macro.O índice pode ser 0 para não especificar nenhuma imagem de estado.Para obter mais informações sobre imagens de sobreposição e estado, consulte Listas de imagens de controle de árvore.

Consulte também

Conceitos

Controles (MFC)

Referência

Usando CTreeCtrl