Condividi tramite


Struttura TVITEMW (commctrl.h)

Specifica o riceve gli attributi di un elemento della visualizzazione albero. Questa struttura è identica alla struttura TV_ITEM , ma è stata rinominata in modo da seguire le convenzioni di denominazione correnti. Le nuove applicazioni devono usare questa struttura.

Sintassi

typedef struct tagTVITEMW {
  UINT      mask;
  HTREEITEM hItem;
  UINT      state;
  UINT      stateMask;
  LPWSTR    pszText;
  int       cchTextMax;
  int       iImage;
  int       iSelectedImage;
  int       cChildren;
  LPARAM    lParam;
} TVITEMW, *LPTVITEMW;

Members

mask

Tipo: UINT

Matrice di flag che indicano quale degli altri membri della struttura contengono dati validi. Quando questa struttura viene utilizzata con il messaggio TVM_GETITEM , il membro mask indica gli attributi dell'elemento da recuperare. Se usato con il messaggio TVM_SETITEM , la maschera indica gli attributi da impostare. Questo membro può essere uno o più dei valori seguenti:

Valore Significato
TVIF_CHILDREN
Il membro cChildren è valido.
TVIF_DI_SETITEM
Il controllo visualizzazione albero manterrà le informazioni fornite e non lo richiederà di nuovo. Questo flag è valido solo quando si elabora la notifica di TVN_GETDISPINFO .
TVIF_HANDLE
Il membro hItem è valido.
TVIF_IMAGE
Il membro iImage è valido.
TVIF_PARAM
Il membro lParam è valido.
TVIF_SELECTEDIMAGE
Il membro iSelectedImage è valido.
TVIF_STATE
I membri stateMask e stateMask sono validi.
TVIF_TEXT
I membri pszText e cchTextMax sono validi.

hItem

Tipo: HTREEITEM

Handle per l'elemento.

state

Tipo: UINT

Set di flag di bit e indici di elenco di immagini che indicano lo stato dell'elemento. Quando si imposta lo stato di un elemento, il membro stateMask indica i bit validi di questo membro. Quando si recupera lo stato di un elemento, questo membro restituisce lo stato corrente per i bit indicati nel membro stateMask .

I bit da 0 a 7 di questo membro contengono i flag di stato dell'elemento. Per un elenco dei possibili flag di stato dell'elemento, vedere Stati degli elementi del controllo Visualizzazione ad albero.

 

L'immagine di sovrimpressione viene sovrapposta all'immagine dell'icona dell'elemento. I bit da 8 a 11 di questo membro specificano l'indice dell'immagine di sovrimpressione in base uno. Se questi bit sono zero, l'elemento non ha un'immagine sovrapposta. Per isolare questi bit, usare la maschera TVIS_OVERLAYMASK . Per impostare l'indice dell'immagine di sovrimpressione in questo membro, usare la macro INDEXTOOVERLAYMASK . Le immagini sovrapposte dell'elenco di immagini vengono impostate con la funzione ImageList_SetOverlayImage .

 

Accanto all'icona di un elemento viene visualizzata un'immagine di stato per indicare uno stato definito dall'applicazione. Specificare l'elenco di immagini di stato inviando un messaggio di TVM_SETIMAGELIST . Per impostare l'immagine dello stato di un elemento, includere il valore TVIS_STATEIMAGEMASK nel membro stateMask della struttura TVITEM . I bit da 12 a 15 del membro di stato della struttura specificano l'indice nell'elenco di immagini di stato dell'immagine da disegnare.

 

Per impostare l'indice dell'immagine di stato, usare INDEXTOSTATEIMAGEMASK. Questa macro accetta un indice e imposta i bit da 12 a 15 in modo appropriato. Per indicare che l'elemento non ha un'immagine di stato, impostare l'indice su zero. Questa convenzione significa che l'immagine zero nell'elenco di immagini di stato non può essere usata come immagine di stato. Per isolare i bit da 12 a 15 del membro dello stato , usare la maschera TVIS_STATEIMAGEMASK .

stateMask

Tipo: UINT

Bit del membro dello stato valido. Se si sta recuperando lo stato di un elemento, impostare i bit del membro stateMask per indicare i bit da restituire nel membro dello stato . Se si imposta lo stato di un elemento, impostare i bit del membro stateMask per indicare i bit del membro dello stato che si desidera impostare. Per impostare o recuperare l'indice dell'immagine di sovrimpressione di un elemento, impostare i bit TVIS_OVERLAYMASK . Per impostare o recuperare l'indice dell'immagine dello stato di un elemento, impostare i bit TVIS_STATEIMAGEMASK .

pszText

Tipo: LPTSTR

Puntatore a una stringa con terminazione Null che contiene il testo dell'elemento se la struttura specifica gli attributi dell'elemento. Se questo membro è il valore LPSTR_TEXTCALLBACK, la finestra padre è responsabile dell'archiviazione del nome. In questo caso, il controllo visualizzazione albero invia alla finestra padre un codice di notifica TVN_GETDISPINFO quando è necessario il testo dell'elemento per la visualizzazione, l'ordinamento o la modifica e un codice di notifica TVN_SETDISPINFO quando il testo dell'elemento viene modificato. Se la struttura riceve gli attributi dell'elemento, questo membro è l'indirizzo del buffer che riceve il testo dell'elemento. Si noti che anche se il controllo visualizzazione albero consente l'archiviazione di qualsiasi stringa di lunghezza come testo dell'elemento, vengono visualizzati solo i primi 260 caratteri.

cchTextMax

Tipo: int

Dimensioni del buffer a cui punta il membro pszText , in caratteri. Se questa struttura viene utilizzata per impostare gli attributi dell'elemento, questo membro viene ignorato.

iImage

Tipo: int

Indice nell'elenco di immagini del controllo visualizzazione albero dell'immagine dell'icona da utilizzare quando l'elemento è nello stato non selezionato. Se questo membro è il valore I_IMAGECALLBACK, la finestra padre è responsabile dell'archiviazione dell'indice. In questo caso, il controllo visualizzazione albero invia all'elemento padre un codice di notifica TVN_GETDISPINFO per recuperare l'indice quando deve visualizzare l'immagine.

iSelectedImage

Tipo: int

Indice nell'elenco di immagini del controllo visualizzazione albero dell'immagine dell'icona da usare quando l'elemento è nello stato selezionato. Se questo membro è il valore I_IMAGECALLBACK, la finestra padre è responsabile dell'archiviazione dell'indice. In questo caso, il controllo visualizzazione albero invia all'elemento padre un codice di notifica TVN_GETDISPINFO per recuperare l'indice quando deve visualizzare l'immagine.

cChildren

Tipo: int

Flag che indica se l'elemento include elementi figlio associati. Questo membro può essere uno dei valori seguenti.

Valore Significato
Zero
L'elemento non ha elementi figlio.
Uno
L'elemento ha uno o più elementi figlio.
I_CHILDRENCALLBACK
La finestra padre tiene traccia dell'eventuale presenza di elementi figlio. In questo caso, quando il controllo visualizzazione albero deve visualizzare l'elemento, il controllo invia all'elemento padre un codice di notifica TVN_GETDISPINFO per determinare se l'elemento contiene elementi figlio.

Se il controllo visualizzazione albero ha lo stile TVS_HASBUTTONS , viene utilizzato questo membro per determinare se visualizzare il pulsante che indica la presenza di elementi figlio. È possibile utilizzare questo membro per forzare il controllo a visualizzare il pulsante anche se l'elemento non include elementi figlio inseriti. In questo modo è possibile visualizzare il pulsante riducendo al minimo l'utilizzo della memoria del controllo inserendo elementi figlio solo quando l'elemento è visibile o espanso.

I_CHILDRENAUTO

Versione 6.0Destinata all'uso interno; non consigliata per l'uso nelle applicazioni. Il controllo visualizzazione albero determina automaticamente se l'elemento include elementi figlio.

Nota Questo flag potrebbe non essere supportato nelle versioni future di Comctl32.dll. Inoltre, questo flag non è definito in commctrl.h. Aggiungere la definizione seguente ai file di origine dell'applicazione per usare il flag:
#define I_CHILDRENAUTO (-2)
 

lParam

Tipo: LPARAM

Valore da associare all'elemento.

Commenti

Nota

L'intestazione commctrl.h definisce TVITEM come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

   
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione commctrl.h