Elenchi di immagini del controllo Tree
A ogni elemento di un controllo albero (CTreeCtrl) può essere associata una coppia di immagini bitmap. Le immagini vengono visualizzate sul lato sinistro dell'etichetta di un elemento. Un'immagine viene visualizzata quando l'elemento è selezionato e l'altro viene visualizzato quando l'elemento non è selezionato. Ad esempio, un elemento potrebbe visualizzare una cartella aperta quando è selezionata e una cartella chiusa quando non è selezionata.
Per usare immagini di elementi, è necessario creare un elenco di immagini creando un oggetto CImageList e usando la funzione CImageList::Create per creare l'elenco di immagini associato. Aggiungere quindi le bitmap desiderate all'elenco e associare l'elenco al controllo albero usando la funzione membro SetImageList . Per impostazione predefinita, tutti gli elementi visualizzano la prima immagine nell'elenco di immagini per gli stati selezionati e non selezionati. È possibile modificare il comportamento predefinito per un particolare elemento specificando gli indici delle immagini selezionate e non selezionate quando si aggiunge l'elemento al controllo albero usando la funzione membro InsertItem . È possibile modificare gli indici dopo aver aggiunto un elemento usando la funzione membro SetItemImage .
Gli elenchi di immagini di un controllo albero possono anche contenere immagini sovrapposte, progettate per essere sovrapposte alle immagini degli elementi. Un valore diverso da zero in bit da 8 a 11 dello stato di un elemento di controllo albero specifica l'indice in base uno di un'immagine di sovrapposizione (0 indica che non è presente alcuna immagine di sovrapposizione). Poiché viene usato un indice a 4 bit, le immagini sovrapposte devono essere tra le prime 15 immagini negli elenchi di immagini. Per altre informazioni sugli stati degli elementi del controllo albero, vedere Cenni preliminari sugli stati degli elementi di controllo albero più indietro in questo argomento.
Se viene specificato un elenco di immagini di stato, un controllo albero riserva spazio a sinistra dell'icona di ogni elemento per un'immagine di stato. Un'applicazione può usare immagini di stato, ad esempio caselle di controllo controllate e deselezionate, per indicare gli stati degli elementi definiti dall'applicazione. Un valore diverso da zero in bit da 12 a 15 specifica l'indice in base uno di un'immagine di stato (0 indica che non è presente alcuna immagine di stato).
Specificando il valore I_IMAGECALLBACK anziché l'indice di un'immagine, è possibile ritardare la specifica dell'immagine selezionata o non selezionata fino a quando l'elemento non verrà ridisegnato. I_IMAGECALLBACK indirizza il controllo albero a eseguire query sull'applicazione per l'indice inviando il messaggio di notifica TVN_GETDISPINFO.
La funzione membro GetImageList recupera l'handle dell'elenco di immagini di un controllo albero. Questa funzione è utile se è necessario aggiungere altre immagini all'elenco. Per altre informazioni sugli elenchi di immagini, vedere Uso di CImageList, CImageList nelle informazioni di riferimento su MFC e elenchi di immagini in Windows SDK.