Condividi tramite


Uso degli alberi di controllo

L'utilizzo tipico di un controllo albero (CTreeCtrl) segue il modello seguente:

  • Il controllo viene creato. Se il controllo viene specificato in un modello di finestra di dialogo o se si usa CTreeView, la creazione è automatica quando viene creata la finestra di dialogo o la visualizzazione. Se si desidera creare il controllo albero come finestra figlio di un'altra finestra, usare la funzione Crea membro.

  • Se si desidera che il controllo albero usi immagini, impostare un elenco di immagini chiamando SetImageList. È possibile anche modificare il rientro utilizzando SetIndent. Un buon momento per eseguire questa operazione si trova in OnInitDialog (per i controlli nelle finestre di dialogo) o OnInitialUpdate (per le visualizzazioni).

  • Inserire i dati nel controllo chiamando la CTreeCtrlfunzione InsertItem una volta per ogni elemento di dati. InsertItem restituisce un handle all'elemento a cui è possibile fare riferimento in un secondo momento, ad esempio quando si aggiungono sottoelementi. Un buon momento per inizializzare i dati è in OnInitDialog (per i controlli nelle finestre di dialogo) o OnInitialUpdate (per le vedute).

  • Quando l'utente interagisce con il controllo, invierà vari messaggi di notifica. È possibile specificare una funzione per gestire ogni messaggio che si desidera gestire aggiungendo una macro ON_NOTIFY_REFLECT nella mappa messaggi della finestra di controllo o aggiungendo una macro ON_NOTIFY alla mappa messaggi della finestra padre. Per un elenco delle possibili notifiche, vedere più avanti in questo argomento Messaggi di notifica del controllo albero.

  • Chiamare le varie funzioni membro di Set per impostare i valori degli elementi di controllo. Le modifiche che puoi apportare includono l'impostazione del rientro e la modifica del testo, delle immagini o dei dati associati a un elemento.

  • Usare le varie funzioni Get per esaminare il contenuto del controllo. È anche possibile navigare nel contenuto del controllo albero con funzioni che consentono di recuperare puntatori a genitori, figli e fratelli di un elemento specificato. È anche possibile ordinare i figli di un nodo specifico.

  • Al termine del controllo, assicurati di distruggerlo correttamente. Se il controllo albero si trova in una finestra di dialogo o in una visualizzazione, sia esso che l'oggetto CTreeCtrl verranno eliminati automaticamente. In caso contrario, è necessario assicurarsi che sia il controllo che l'oggetto CTreeCtrl vengano eliminati correttamente.

Vedere anche

Uso di CTreeCtrl
Comandi