Condividi tramite


L'elemento del controllo struttura ad albero dichiara i cenni preliminari

Ogni elemento in un controllo struttura ad albero (CTreeCtrl) dispone di uno stato corrente.Ad esempio, un elemento può essere selezionato, disabilitato, espanso, e così via.In genere, il controllo di struttura ad albero imposta automaticamente lo stato di un elemento per riflettere le azioni utente, quali la selezione di un elemento.Tuttavia, è anche possibile impostare lo stato di un elemento utilizzando la funzione membro di SetItemState e recuperare lo stato corrente di un elemento utilizzando la funzione membro di GetItemState .Per un elenco completo degli stati degli elementi, vedere Costanti del controllo di visualizzazione ad albero in Windows SDK.

Lo stato corrente di un elemento viene specificato dal parametro di nState .Un controllo struttura ad albero può modificare lo stato di un elemento per riflettere un'azione dell'utente, come selezionare l'elemento o impostare lo stato attivo all'elemento.Inoltre, un'applicazione può modificare lo stato di un elemento per disabilitare o nascondere l'elemento o per specificare un'immagine o un'immagine di stato sovrapposti.

Quando si specifica o si modifica lo stato di un elemento, il parametro di nStateMask specifica che i bit di stato a e il parametro di nState contiene i nuovi valori per i bit.Ad esempio, nell'esempio seguente viene modificato lo stato corrente di un elemento padre (specificato da hParentItem) in un oggetto di 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);

Un altro esempio di modifica dello stato sarà di impostare l'immagine sovrapposta di un elemento.A tale scopo, nStateMask necessario includere il valore di TVIS_OVERLAYMASK e nState necessario includere indice in base uno di un'immagine sovrapposta scorre let otto bit utilizzando la macro di INDEXTOOVERLAYMASK .L'indice è possibile 0 per non specificare un'immagine sovrapposta.L'immagine sovrapposta deve essere aggiunto all'elenco di controllo di struttura ad albero di immagini sovrapposte da una chiamata precedente alla funzione di CImageList::SetOverlayImage .La funzione indica l'indice in base uno dell'immagine per aggiungere; si tratta dell'indice utilizzato con la macro di INDEXTOOVERLAYMASK .Un controllo struttura ad albero può contenere fino a quattro immagini sovrapposte.

Per impostare l'immagine stato di un elemento, nStateMask necessario includere il valore di TVIS_STATEIMAGEMASK e nState necessario includere indice in base uno immagini di stato di consentire a 12 bit utilizzando la macro di INDEXTOSTATEIMAGEMASK .L'indice è possibile 0 per non specificare immagini di stato.Per ulteriori informazioni sulla sovrapposizione e immagini di stato, vedere Elenchi di immagini per il controllo di struttura ad albero.

Vedere anche

Riferimenti

Utilizzando CTreeCtrl

Concetti

Controlli (MFC)