Elementi padre e figlio controllo Tree
Qualsiasi elemento in un controllo struttura ad albero (Problemi) può avere un elenco di elementi secondari, definiti elementi figlio, associato. Un elemento con uno o più elementi figlio viene chiamato un elemento padre. Un elemento figlio vengono visualizzate sotto l'elemento padre e impostato un rientro per indicare che è secondario al padre. Un elemento non ha padre nella parte superiore della gerarchia e viene chiamato un elemento radice.
In un determinato momento, lo stato dell'elenco di un elemento padre degli elementi figlio può essere espanso o compresso. Quando lo stato viene espanso, gli elementi figlio sono visualizzate sotto l'elemento padre. Quando è compresso, gli elementi figlio non vengono visualizzati. Elenco di consente di passare automaticamente tra gli stati espansi e compressi quando l'utente fa doppio clic sull'elemento padre o, se l'oggetto padre è lo stile di TVS_HASBUTTONS, quando l'utente fa clic sul pulsante associato all'elemento padre. Un'applicazione può espandere o comprimere gli elementi figlio utilizzando la funzione membro di Espandi.
Si aggiunge un elemento a un controllo struttura ad albero chiamando la funzione membro di InsertItem. Questa funzione restituisce l'handle del tipo di HTREEITEM, che identifica in modo univoco l'elemento. Quando si aggiunge un elemento, è necessario specificare l'handle dell'elemento padre del nuovo elemento. Se si specifica NULL o il valore di TVI_ROOT invece di handle dell'elemento padre nella struttura di TVINSERTSTRUCT o nel parametro di hParent, l'elemento viene aggiunto come elemento radice.
Un controllo struttura ad albero invia un messaggio di notifica di TVN_ITEMEXPANDING quando l'elenco di un elemento padre degli elementi figlio sta per essere espanso o compresso. La notifica che consente di impedire la modifica o impostare gli attributi dell'elemento padre che dipendono dallo stato dell'elenco di elementi figlio. Dopo aver modificato lo stato dell'elenco, il controllo struttura ad albero invia un messaggio di notifica di TVN_ITEMEXPANDED.
Quando un elenco di elementi figlio viene espanso, viene impostato un rientro rispetto all'elemento padre. È possibile impostare la quantità di rientro utilizzando la funzione membro di SetIndent o recuperare la quantità corrente tramite la funzione membro di GetIndent.