Condividi tramite


Come usare gli indici di immagine di stato

Spesso si verificano confusione su come impostare e recuperare l'indice dell'immagine di stato in un controllo visualizzazione albero. Gli esempi seguenti illustrano il metodo appropriato per impostare e recuperare l'indice dell'immagine di stato. Gli esempi presuppongono che nel controllo visualizzazione albero siano presenti solo due indici di immagine di stato, deselezionati e controllati. Se l'applicazione contiene più di due, queste funzioni dovranno essere modificate per gestire tale caso.

Informazioni importanti

Tecnologie

Prerequisiti

  • C/C++
  • Programmazione dell'interfaccia utente di Windows

Istruzioni

Impostare lo stato di controllo di un elemento della visualizzazione albero

Nell'esempio seguente viene illustrato come impostare lo stato di controllo di un elemento della visualizzazione albero.

  BOOL TreeView_SetCheckState(HWND hwndTreeView, HTREEITEM hItem, BOOL fCheck)
  {
      TVITEM tvItem;

      tvItem.mask   = TVIF_HANDLE | TVIF_STATE;
      tvItem.hItem  = hItem;
      tvItem.stateMask  = TVIS_STATEIMAGEMASK;

      // Image 1 in the tree-view check box image list is the unchecked box. 
      // Image 2 is the checked box.

      tvItem.state = INDEXTOSTATEIMAGEMASK((fCheck ? 2 : 1));

      return TreeView_SetItem(hwndTreeView, &tvItem);
  }

Recuperare lo stato di controllo di un elemento della visualizzazione ad albero

Nell'esempio seguente viene illustrato come recuperare lo stato di controllo di un elemento della visualizzazione albero.

  BOOL TreeView_GetCheckState(HWND hwndTreeView, HTREEITEM hItem)
  {
      TVITEM tvItem;

      // Prepare to receive the desired information.
      tvItem.mask   = TVIF_HANDLE | TVIF_STATE;
      tvItem.hItem  = hItem;
      tvItem.stateMask  = TVIS_STATEIMAGEMASK;

      // Request the information.
      TreeView_GetItem(hwndTreeView, &tvItem);

      // Return zero if it's not checked, or nonzero otherwise.
      return ((BOOL)(tvItem.state >> 12) - 1);
  }

Uso dei controlli visualizzazione albero

L'esempio CustDTv illustra un disegno personalizzato in un controllo Tree-View