Condividi tramite


Classe CTreeCtrl

Fornisce la funzionalità del controllo di visualizzazione albero comune di Windows.

Sintassi

class CTreeCtrl : public CWnd

Membri

Costruttori pubblici

Nome Descrizione
CTreeCtrl::CTreeCtrl Costruisce un oggetto CTreeCtrl.

Metodi pubblici

Nome Descrizione
CTreeCtrl::Create Crea un controllo visualizzazione albero e lo associa a un CTreeCtrl oggetto .
CTreeCtrl::CreateDragImage Crea una bitmap di trascinamento per l'elemento di visualizzazione albero specificato.
CTreeCtrl::CreateEx Crea un controllo albero con gli stili estesi di Windows specificati e lo associa a un CTreeCtrl oggetto .
CTreeCtrl::DeleteAllItems Elimina tutti gli elementi in un controllo visualizzazione albero.
CTreeCtrl::DeleteItem Elimina un nuovo elemento in un controllo visualizzazione albero.
CTreeCtrl::EditLabel Modifica un elemento della visualizzazione albero specificato sul posto.
CTreeCtrl::EndEditLabelNow Annulla l'operazione di modifica sull'etichetta di un elemento della visualizzazione albero nel controllo visualizzazione albero corrente.
CTreeCtrl::EnsureVisible Assicura che un elemento della visualizzazione albero sia visibile nel controllo visualizzazione albero.
CTreeCtrl::Expand Espande o comprime gli elementi figlio dell'elemento di visualizzazione albero specificato.
CTreeCtrl::GetBkColor Recupera il colore di sfondo corrente del controllo.
CTreeCtrl::GetCheck Recupera lo stato di controllo di un elemento del controllo albero.
CTreeCtrl::GetChildItem Recupera l'elemento figlio di un elemento di visualizzazione albero specificato.
CTreeCtrl::GetCount Recupera il numero di elementi della struttura ad albero associati a un controllo visualizzazione albero.
CTreeCtrl::GetDropHilightItem Recupera la destinazione di un'operazione di trascinamento della selezione.
CTreeCtrl::GetEditControl Recupera l'handle del controllo di modifica utilizzato per modificare l'elemento di visualizzazione albero specificato.
CTreeCtrl::GetExtendedStyle Recupera gli stili estesi utilizzati dal controllo visualizzazione albero corrente.
CTreeCtrl::GetFirstVisibleItem Recupera il primo elemento visibile dell'elemento di visualizzazione albero specificato.
CTreeCtrl::GetImageList Recupera l'handle dell'elenco di immagini associato a un controllo visualizzazione albero.
CTreeCtrl::GetIndent Recupera l'offset( in pixel) di un elemento della visualizzazione struttura ad albero dal relativo elemento padre.
CTreeCtrl::GetInsertMarkColor Recupera il colore utilizzato per disegnare il segno di inserimento per la visualizzazione albero.
CTreeCtrl::GetItem Recupera gli attributi di un elemento di visualizzazione albero specificato.
CTreeCtrl::GetItemData Restituisce il valore specifico dell'applicazione associato a un elemento.
CTreeCtrl::GetItemExpandedImageIndex Recupera l'indice dell'immagine da visualizzare quando l'elemento specificato del controllo visualizzazione albero corrente si trova nello stato espanso.
CTreeCtrl::GetItemHeight Recupera l'altezza corrente degli elementi della visualizzazione albero.
CTreeCtrl::GetItemImage Recupera le immagini associate a un elemento.
CTreeCtrl::GetItemPartRect Recupera il rettangolo di delimitazione per una parte specificata di un elemento specificato nel controllo visualizzazione albero corrente.
CTreeCtrl::GetItemRect Recupera il rettangolo di delimitazione di un elemento della visualizzazione albero.
CTreeCtrl::GetItemState Restituisce lo stato di un elemento.
CTreeCtrl::GetItemStateEx Recupera lo stato esteso dell'elemento specificato nel controllo visualizzazione albero corrente.
CTreeCtrl::GetItemText Restituisce il testo di un elemento.
CTreeCtrl::GetLastVisibleItem Recupera l'ultimo elemento espanso nel controllo visualizzazione albero corrente.
CTreeCtrl::GetLineColor Recupera il colore della linea corrente per il controllo visualizzazione albero.
CTreeCtrl::GetNextItem Recupera l'elemento di visualizzazione albero successivo che corrisponde a una relazione specificata.
CTreeCtrl::GetNextSiblingItem Recupera l'elemento di pari livello successivo dell'elemento di visualizzazione albero specificato.
CTreeCtrl::GetNextVisibleItem Recupera l'elemento visibile successivo dell'elemento di visualizzazione albero specificato.
CTreeCtrl::GetParentItem Recupera l'elemento padre dell'elemento di visualizzazione albero specificato.
CTreeCtrl::GetPrevSiblingItem Recupera l'elemento di pari livello precedente dell'elemento di visualizzazione albero specificato.
CTreeCtrl::GetPrevVisibleItem Recupera l'elemento visibile precedente dell'elemento di visualizzazione albero specificato.
CTreeCtrl::GetRootItem Recupera la radice dell'elemento di visualizzazione albero specificato.
CTreeCtrl::GetScrollTime Recupera il tempo di scorrimento massimo per il controllo visualizzazione albero.
CTreeCtrl::GetSelectedCount Recupera il numero di elementi selezionati nel controllo visualizzazione albero corrente.
CTreeCtrl::GetSelectedItem Recupera l'elemento di visualizzazione albero attualmente selezionato.
CTreeCtrl::GetTextColor Recupera il colore del testo corrente del controllo.
CTreeCtrl::GetToolTips Recupera l'handle nel controllo figlio ToolTip utilizzato da un controllo visualizzazione albero.
CTreeCtrl::GetVisibleCount Recupera il numero di elementi della struttura ad albero visibili associati a un controllo visualizzazione albero.
CTreeCtrl::HitTest Restituisce la posizione corrente del cursore correlato all'oggetto CTreeCtrl .
CTreeCtrl::InsertItem Inserisce un nuovo elemento in un controllo visualizzazione albero.
CTreeCtrl::ItemHasChildren Restituisce un valore diverso da zero se l'elemento specificato include elementi figlio.
CTreeCtrl::MapAccIdToItem Esegue il mapping dell'identificatore di accessibilità specificato all'handle a un elemento della visualizzazione albero nel controllo visualizzazione albero corrente.
CTreeCtrl::MapItemToAccID Esegue il mapping dell'handle specificato a un elemento della visualizzazione albero nel controllo visualizzazione albero corrente a un identificatore di accessibilità.
CTreeCtrl::Select Seleziona, scorre nella visualizzazione o ridisegna un elemento di visualizzazione albero specificato.
CTreeCtrl::SelectDropTarget Ridisegna l'elemento della struttura ad albero come destinazione di un'operazione di trascinamento della selezione.
CTreeCtrl::SelectItem Seleziona un elemento di visualizzazione albero specificato.
CTreeCtrl::SelectSetFirstVisible Seleziona un elemento di visualizzazione albero specificato come primo elemento visibile.
CTreeCtrl::SetAutoscrollInfo Imposta la frequenza di registrazione automatica del controllo visualizzazione albero corrente.
CTreeCtrl::SetBkColor Imposta il colore di sfondo del controllo.
CTreeCtrl::SetCheck Imposta lo stato di controllo di un elemento del controllo albero.
CTreeCtrl::SetExtendedStyle Imposta gli stili estesi per il controllo visualizzazione albero corrente.
CTreeCtrl::SetImageList Imposta l'handle dell'elenco di immagini associato a un controllo visualizzazione albero.
CTreeCtrl::SetIndent Imposta l'offset (in pixel) di un elemento della visualizzazione struttura ad albero dal relativo elemento padre.
CTreeCtrl::SetInsertMark Imposta il segno di inserimento in un controllo visualizzazione albero.
CTreeCtrl::SetInsertMarkColor Imposta il colore utilizzato per disegnare il segno di inserimento per la visualizzazione albero.
CTreeCtrl::SetItem Imposta gli attributi di un elemento di visualizzazione albero specificato.
CTreeCtrl::SetItemData Imposta il valore specifico dell'applicazione associato a un elemento.
CTreeCtrl::SetItemExpandedImageIndex Imposta l'indice dell'immagine da visualizzare quando l'elemento specificato del controllo visualizzazione albero corrente si trova nello stato espanso.
CTreeCtrl::SetItemHeight Imposta l'altezza degli elementi della visualizzazione albero.
CTreeCtrl::SetItemImage Associa le immagini a un elemento.
CTreeCtrl::SetItemState Imposta lo stato di un elemento.
CTreeCtrl::SetItemStateEx Imposta lo stato esteso dell'elemento specificato nel controllo visualizzazione albero corrente.
CTreeCtrl::SetItemText Imposta il testo di un elemento.
CTreeCtrl::SetLineColor Imposta il colore della linea corrente per il controllo visualizzazione albero.
CTreeCtrl::SetScrollTime Imposta il tempo di scorrimento massimo per il controllo visualizzazione albero.
CTreeCtrl::SetTextColor Imposta il colore del testo del controllo.
CTreeCtrl::SetToolTips Imposta il controllo figlio ToolTip di un controllo visualizzazione albero.
CTreeCtrl::ShowInfoTip Visualizza la descrizione info per l'elemento specificato nel controllo visualizzazione albero corrente.
CTreeCtrl::SortChildren Ordina gli elementi figlio di un determinato elemento padre.
CTreeCtrl::SortChildrenCB Ordina gli elementi figlio di un determinato elemento padre usando una funzione di ordinamento definita dall'applicazione.

Osservazioni:

Un "controllo visualizzazione albero" è una finestra che visualizza un elenco gerarchico di elementi, ad esempio le intestazioni di un documento, le voci di un indice o i file e le directory in un disco. Ogni elemento è costituito da un'etichetta e da un'immagine bitmap facoltativa e a ogni elemento può essere associato un elenco di elementi secondari. Facendo clic su un elemento, l'utente può espandere e comprimere l'elenco associato di elementi secondari.

Questo controllo (e quindi la CTreeCtrl classe ) è disponibile solo per i programmi in esecuzione in Windows 98 e Windows NT versione 4 e successive.

Per altre informazioni sull'uso CTreeCtrldi , vedere:

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CTreeCtrl

Requisiti

Intestazione: afxcmn.h

CTreeCtrl::Create

Se si specifica il controllo albero in un modello di finestra di dialogo o se si utilizza CTreeView, il controllo albero viene creato automaticamente quando viene creata la finestra di dialogo o la visualizzazione.

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parametri

dwStyle
Specifica lo stile del controllo visualizzazione albero. Applicare gli stili delle finestre, descritti in CreateWindowe qualsiasi combinazione di stili di controllo visualizzazione albero, come descritto in Windows SDK.

rect
Specifica le dimensioni e la posizione del controllo visualizzazione albero. Può essere un CRect oggetto o una RECT struttura.

pParentWnd
Specifica la finestra padre del controllo visualizzazione albero, in genere un oggetto CDialog. Non deve essere NULL.

nID
Specifica l'ID del controllo visualizzazione albero.

Valore restituito

Diverso da zero se l'inizializzazione ha avuto esito positivo; in caso contrario, 0.

Osservazioni:

Se si desidera creare il controllo albero come finestra figlio di un'altra finestra, usare la Create funzione membro. Se si crea il controllo albero usando Create, è necessario passarlo WS_VISIBLE, oltre ad altri stili di visualizzazione albero.

Si costruisce un oggetto CTreeCtrl in due passaggi. Chiamare prima di tutto il costruttore, quindi chiamare Create, che crea il controllo visualizzazione albero e lo associa all'oggetto CTreeCtrl .

Per creare un controllo albero con stili di finestra estesi, chiamare CreateEx invece di Create.

Esempio

// Assuming your window has a CTreeCtrl member named m_TreeCtrl,
// you can create the tree control window with a child ID of ID_MYTREE
// using a call like this:

m_TreeCtrl.Create(WS_VISIBLE | WS_TABSTOP | WS_CHILD | WS_BORDER |
                      TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES |
                      TVS_DISABLEDRAGDROP | TVS_NOTOOLTIPS | TVS_EDITLABELS,
                  CRect(10, 10, 300, 100), this, ID_MYTREE);

// The control will have the appropriate window styles, and the tree
// control styles specified are those most commonly used.

CTreeCtrl::CreateEx

Chiamare questa funzione per creare un controllo (una finestra figlio) e associarlo all'oggetto CTreeCtrl .

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parametri

dwExStyle
Specifica lo stile esteso del controllo da creare. Per un elenco degli stili di Windows estesi, vedi il dwExStyle parametro per CreateWindowEx in Windows SDK.

dwStyle
Specifica lo stile del controllo visualizzazione albero. Applicare gli stili delle finestre, descritti in CreateWindowe qualsiasi combinazione di stili di controllo visualizzazione albero, come descritto in Windows SDK.

rect
Riferimento a una RECT struttura che descrive le dimensioni e la posizione della finestra da creare, nelle coordinate client di pParentWnd.

pParentWnd
Puntatore alla finestra padre del controllo.

nID
ID finestra figlio del controllo.

Valore restituito

Diverso da zero se ha esito positivo altrimenti 0.

Osservazioni:

Usare CreateEx invece di Create applicare stili di Windows estesi, specificati dalla prefazione WS_EX_dello stile esteso di Windows.

CTreeCtrl::CreateDragImage

Chiamare questa funzione per creare una bitmap di trascinamento per l'elemento specificato in un controllo visualizzazione albero, creare un elenco di immagini per la bitmap e aggiungere la bitmap all'elenco di immagini.

CImageList* CreateDragImage(HTREEITEM hItem);

Parametri

hItem
Handle dell'elemento della struttura ad albero da trascinare.

Valore restituito

Puntatore all'elenco di immagini a cui è stata aggiunta la bitmap di trascinamento, se ha esito positivo; in caso contrario NULL, .

Osservazioni:

Un'applicazione usa le funzioni image-list per visualizzare l'immagine quando l'elemento viene trascinato.

L'oggetto CImageList è permanente ed è necessario eliminarlo al termine. Ad esempio:

HTREEITEM hItem = m_TreeCtrl.GetSelectedItem();

CImageList *pImageList = m_TreeCtrl.CreateDragImage(hItem);

// Do something with the image list.

delete pImageList;

CTreeCtrl::CTreeCtrl

Costruisce un oggetto CTreeCtrl.

CTreeCtrl();

CTreeCtrl::DeleteAllItems

Chiamare questa funzione per eliminare tutti gli elementi dal controllo visualizzazione albero.

BOOL DeleteAllItems();

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Esempio

// The underlying Windows API always returns TRUE
VERIFY(m_TreeCtrl.DeleteAllItems());

CTreeCtrl::DeleteItem

Chiamare questa funzione per eliminare un elemento dal controllo visualizzazione albero.

BOOL DeleteItem(HTREEITEM hItem);

Parametri

hItem
Handle dell'elemento della struttura ad albero da eliminare. Se hitem ha il TVI_ROOT valore , tutti gli elementi vengono eliminati dal controllo visualizzazione albero.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Esempio

// Look at all of the root-level items
HTREEITEM hCurrent = m_TreeCtrl.GetChildItem(TVI_ROOT);
while (hCurrent != NULL)
{
   // Get the text for the item. Notice we use TVIF_TEXT because
   // we want to retrieve only the text, but also specify TVIF_HANDLE
   // because we're getting the item by its handle.
   TVITEM item;
   TCHAR szText[1024];
   item.hItem = hCurrent;
   item.mask = TVIF_TEXT | TVIF_HANDLE;
   item.pszText = szText;
   item.cchTextMax = 1024;

   BOOL bWorked = m_TreeCtrl.GetItem(&item);

   // Try to get the next item
   hCurrent = m_TreeCtrl.GetNextItem(hCurrent, TVGN_NEXT);

   // If we successfuly retrieved an item, and the item's text
   // contains a lowercase letter 'e', delete the item.
   if (bWorked && _tcschr(item.pszText, 'e'))
      m_TreeCtrl.DeleteItem(item.hItem);
}

CTreeCtrl::EditLabel

Chiamare questa funzione per iniziare la modifica sul posto del testo dell'elemento specificato.

CEdit* EditLabel(HTREEITEM hItem);

Parametri

hItem
Handle dell'elemento della struttura ad albero da modificare.

Valore restituito

In caso di esito positivo, un puntatore all'oggetto utilizzato per modificare il testo dell'elemento CEdit ; in caso contrario NULL, .

Osservazioni:

La modifica viene eseguita sostituendo il testo dell'elemento con un controllo di modifica a riga singola contenente il testo.

Esempio

// Make sure the focus is set to the tree control.
m_TreeCtrl.SetFocus();

// Show the edit control on the label of the selected item.
// The tree control must have the TVS_EDITLABELS style set.
HTREEITEM hSel = m_TreeCtrl.GetSelectedItem();
CEdit *pmyEdit = m_TreeCtrl.EditLabel(hSel);
ASSERT(pmyEdit != NULL);

CTreeCtrl::EndEditLabelNow

Conclude l'operazione di modifica sull'etichetta di un elemento della visualizzazione albero nel controllo visualizzazione albero corrente.

BOOL EndEditLabelNow(BOOL fCancelWithoutSave);

Parametri

fCancelWithoutSave
[in] TRUE per annullare le modifiche apportate all'elemento della visualizzazione albero prima di concludere l'operazione di modifica o FALSE per salvare le modifiche apportate all'elemento della visualizzazione albero prima di concludere l'operazione.

Valore restituito

TRUE se questo metodo ha esito positivo; in caso contrario, FALSE.

Osservazioni:

Questo metodo invia il TVM_ENDEDITLABELNOW messaggio, descritto in Windows SDK.

CTreeCtrl::EnsureVisible

Chiamare questa funzione per assicurarsi che un elemento della visualizzazione albero sia visibile.

BOOL EnsureVisible(HTREEITEM hItem);

Parametri

hItem
Handle dell'elemento della struttura ad albero reso visibile.

Valore restituito

Restituisce TRUE se il sistema ha eseguito lo scorrimento degli elementi nel controllo visualizzazione albero per assicurarsi che l'elemento specificato sia visibile. In caso contrario, il valore restituito è FALSE.

Osservazioni:

Se necessario, la funzione espande l'elemento padre o scorre il controllo visualizzazione albero in modo che l'elemento sia visibile.

Esempio

HTREEITEM hItem = m_TreeCtrl.GetSelectedItem();
// hmyItem is the item that I want to ensure is visible.
HTREEITEM hmyItem = m_TreeCtrl.GetChildItem(hItem);

// Expand the parent, if possible.
HTREEITEM hParent = m_TreeCtrl.GetParentItem(hmyItem);
if (hParent != NULL)
   m_TreeCtrl.Expand(hParent, TVE_EXPAND);

// Ensure the item is visible.
m_TreeCtrl.EnsureVisible(hmyItem);

CTreeCtrl::Expand

Chiamare questa funzione per espandere o comprimere l'elenco di elementi figlio, se presenti, associati all'elemento padre specificato.

BOOL Expand(
    HTREEITEM hItem,
    UINT nCode);

Parametri

hItem
Handle dell'elemento della struttura ad albero espanso.

nCode
Flag che indica il tipo di azione da eseguire. Questo flag può avere uno dei valori seguenti:

  • TVE_COLLAPSE Comprime l'elenco.

  • TVE_COLLAPSERESET Comprime l'elenco e rimuove gli elementi figlio. Il TVIS_EXPANDEDONCE flag di stato viene reimpostato. Questo flag deve essere usato con il TVE_COLLAPSE flag .

  • TVE_EXPAND Espande l'elenco.

  • TVE_TOGGLE Comprime l'elenco se è attualmente espanso o lo espande se è attualmente compresso.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Esempio

Vedere l'esempio per CTreeCtrl::EnsureVisible.

CTreeCtrl::GetBkColor

Questa funzione membro implementa il comportamento del messaggio TVM_GETBKCOLORWin32 , come descritto in Windows SDK.

COLORREF GetBkColor() const;

Valore restituito

Valore COLORREF che rappresenta il colore di sfondo della finestra corrente per il controllo . Se questo valore è -1, il controllo usa il colore della finestra di sistema. In questo caso, è possibile usare ::GetSysColor(COLOR_WINDOW) per ottenere il colore di sistema corrente utilizzato dal controllo.

Esempio

Vedere l'esempio per CTreeCtrl::SetTextColor.

CTreeCtrl::GetCheck

Chiamare questa funzione membro per recuperare lo stato di controllo di un elemento.

BOOL GetCheck(HTREEITEM hItem) const;

Parametri

hItem
Oggetto HTREEITEM su cui ricevere le informazioni sullo stato.

Valore restituito

Diverso da zero se l'elemento del controllo albero è selezionato; in caso contrario, 0.

Esempio

Vedere l'esempio per CTreeCtrl::SetCheck.

CTreeCtrl::GetChildItem

Chiamare questa funzione per recuperare l'elemento della visualizzazione albero figlio dell'elemento specificato da hItem.

HTREEITEM GetChildItem(HTREEITEM hItem) const;

Parametri

hItem
Handle di un elemento dell'albero.

Valore restituito

Handle dell'elemento figlio se ha esito positivo; in caso contrario NULL, .

Esempio

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Delete all of the children of hmyItem.
if (m_TreeCtrl.ItemHasChildren(hmyItem))
{
   HTREEITEM hNextItem;
   HTREEITEM hChildItem = m_TreeCtrl.GetChildItem(hmyItem);

   while (hChildItem != NULL)
   {
      hNextItem = m_TreeCtrl.GetNextItem(hChildItem, TVGN_NEXT);
      m_TreeCtrl.DeleteItem(hChildItem);
      hChildItem = hNextItem;
   }
}

CTreeCtrl::GetCount

Chiamare questa funzione per recuperare un conteggio degli elementi in un controllo visualizzazione albero.

UINT GetCount() const;

Valore restituito

Numero di elementi nel controllo visualizzazione albero.

Esempio

// Delete all of the items from the tree control.
m_TreeCtrl.DeleteAllItems();
ASSERT(m_TreeCtrl.GetCount() == 0);

CTreeCtrl::GetDropHilightItem

Chiamare questa funzione per recuperare l'elemento di destinazione di un'operazione di trascinamento della selezione.

HTREEITEM GetDropHilightItem() const;

Valore restituito

Handle dell'elemento eliminato in caso di esito positivo; in caso contrario NULL, .

Esempio

// Set the item at the point myPoint as the drop target.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SelectDropTarget(hItem);
   ASSERT(m_TreeCtrl.GetDropHilightItem() == hItem);
}

CTreeCtrl::GetEditControl

Chiamare questa funzione per recuperare l'handle del controllo di modifica utilizzato per modificare il testo di un elemento della visualizzazione albero.

CEdit* GetEditControl() const;

Valore restituito

Puntatore al controllo di modifica utilizzato per modificare il testo dell'elemento, se ha esito positivo; in caso contrario NULL, .

Esempio

// The string replacing the text in the edit control.
LPCTSTR lpszmyString = _T("New text!");

// Replace the text in the label edit control, if possible.
CEdit *pEdit = m_TreeCtrl.GetEditControl();

if (pEdit != NULL)
{
   pEdit->SetWindowText(lpszmyString);
}

CTreeCtrl::GetExtendedStyle

Recupera gli stili estesi utilizzati dal controllo visualizzazione albero corrente.

DWORD GetExtendedStyle() const;

Valore restituito

Valore che contiene una combinazione bit per bit (OR) degli stili estesi del controllo visualizzazione albero corrente. Per altre informazioni, vedere Stili estesi del controllo Visualizzazione albero.

Osservazioni:

Questo metodo invia il TVM_GETEXTENDEDSTYLE messaggio, descritto in Windows SDK.

CTreeCtrl::GetFirstVisibleItem

Chiamare questa funzione per recuperare il primo elemento visibile del controllo visualizzazione albero.

HTREEITEM GetFirstVisibleItem() const;

Valore restituito

Handle del primo elemento visibile; in caso contrario NULL, .

Esempio

Vedere l'esempio per CTreeCtrl::SetCheck.

CTreeCtrl::GetImageList

Chiamare questa funzione per recuperare l'handle dell'elenco di immagini normali o di stato associato al controllo visualizzazione albero.

CImageList* GetImageList(UINT nImageList) const;

Parametri

nImageList
Tipo di elenco di immagini da recuperare. L'elenco di immagini può essere uno dei valori seguenti:

  • TVSIL_NORMAL Recupera l'elenco di immagini normale, che contiene le immagini selezionate e non selezionate per l'elemento della visualizzazione albero.

  • TVSIL_STATE Recupera l'elenco di immagini di stato, che contiene le immagini per gli elementi della visualizzazione albero in uno stato definito dall'utente.

Valore restituito

Puntatore all'elenco di immagini del controllo in caso di esito positivo; in caso contrario NULL, .

Osservazioni:

A ogni elemento di un controllo visualizzazione albero può essere associata una coppia di immagini bitmap. 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 altre informazioni sugli elenchi di immagini, vedere la CImageList classe .

Esempio

ASSERT(m_TreeCtrl.GetImageList(TVSIL_NORMAL) == NULL);

m_TreeCtrl.SetImageList(&m_TreeImages, TVSIL_NORMAL);
ASSERT(m_TreeCtrl.GetImageList(TVSIL_NORMAL) == &m_TreeImages);

CTreeCtrl::GetIndent

Chiamare questa funzione per recuperare la quantità, in pixel, che gli elementi figlio sono rientrati rispetto ai relativi elementi padre.

UINT GetIndent() const;

Valore restituito

Quantità di rientro misurata in pixel.

Esempio

// Double the indent.
UINT uIndent = m_TreeCtrl.GetIndent();
m_TreeCtrl.SetIndent(2 * uIndent);

CTreeCtrl::GetInsertMarkColor

Questa funzione membro implementa il comportamento del messaggio TVM_GETINSERTMARKCOLORWin32 , come descritto in Windows SDK.

COLORREF GetInsertMarkColor() const;

Valore restituito

Valore COLORREF contenente il colore del segno di inserimento corrente.

Esempio

// Use the highliight color for the insert mark color.
COLORREF crColor = ::GetSysColor(COLOR_HIGHLIGHT);
m_TreeCtrl.SetInsertMarkColor(crColor);
ASSERT(m_TreeCtrl.GetInsertMarkColor() == crColor);

CTreeCtrl::GetItem

Chiamare questa funzione per recuperare gli attributi dell'elemento di visualizzazione albero specificato.

BOOL GetItem(TVITEM* pItem) const;

Parametri

pItem
Puntatore a una TVITEM struttura, come descritto in Windows SDK.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Esempio

Vedere l'esempio per CTreeCtrl::DeleteItem.

CTreeCtrl::GetItemData

Chiamare questa funzione per recuperare il valore specifico dell'applicazione associato all'elemento specificato.

DWORD_PTR GetItemData(HTREEITEM hItem) const;

Parametri

hItem
Handle dell'elemento di cui recuperare i dati.

Valore restituito

Valore specifico dell'applicazione di dimensioni del puntatore associato all'elemento specificato da hItem.

Esempio

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Delete all of the children of hmyItem whose item data is
// not equal to zero.
if (m_TreeCtrl.ItemHasChildren(hmyItem))
{
   HTREEITEM hNextItem;
   HTREEITEM hChildItem = m_TreeCtrl.GetChildItem(hmyItem);

   while (hChildItem != NULL)
   {
      hNextItem = m_TreeCtrl.GetNextItem(hChildItem, TVGN_NEXT);

      if (m_TreeCtrl.GetItemData(hChildItem) != 0)
      {
         m_TreeCtrl.DeleteItem(hChildItem);
      }

      hChildItem = hNextItem;
   }
}

CTreeCtrl::GetItemExpandedImageIndex

Recupera l'indice dell'immagine da visualizzare quando l'elemento specificato del controllo visualizzazione albero corrente si trova nello stato espanso.

int GetItemExpandedImageIndex(HTREEITEM hItem)const;

Parametri

hItem
[in] Handle per un elemento del controllo visualizzazione albero.

Valore restituito

Indice dell'immagine da visualizzare quando l'elemento specificato si trova nello stato espanso.

Osservazioni:

Questo metodo invia il TVM_GETITEM messaggio, descritto in Windows SDK. Tale messaggio restituisce la TVITEMEX struttura che descrive l'elemento del controllo visualizzazione albero e quindi questo metodo recupera il iExpandedImage membro da tale struttura.

CTreeCtrl::GetItemHeight

Questa funzione membro implementa il comportamento del messaggio TVM_GETITEMHEIGHTWin32 , come descritto in Windows SDK.

SHORT GetItemHeight() const;

Valore restituito

Altezza dell'elemento, in pixel.

Esempio

// Double the height of the items.
SHORT sHeight = m_TreeCtrl.GetItemHeight();
m_TreeCtrl.SetItemHeight(2 * sHeight);

CTreeCtrl::GetItemImage

A ogni elemento di un controllo visualizzazione albero può essere associata una coppia di immagini bitmap.

BOOL GetItemImage(
    HTREEITEM hItem,
    int& nImage,
    int& nSelectedImage) const;

Parametri

hItem
Handle dell'elemento di cui recuperare l'immagine.

nImage
Intero che riceve l'indice dell'immagine dell'elemento all'interno dell'elenco di immagini del controllo visualizzazione albero.

nSelectedImage
Intero che riceve l'indice dell'immagine selezionata dell'elemento all'interno dell'elenco di immagini del controllo visualizzazione albero.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

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.

Chiamare questa funzione per recuperare l'indice dell'immagine dell'elemento e l'immagine selezionata all'interno dell'elenco di immagini del controllo visualizzazione albero.

Esempio

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// If the selected image is the same as the nonselected image
// then make the selected image one more than the nonselected image.
if (m_TreeCtrl.ItemHasChildren(hmyItem))
{
   HTREEITEM hItem = m_TreeCtrl.GetChildItem(hmyItem);
   int nImage, nSelectedImage;

   while (hItem != NULL)
   {
      m_TreeCtrl.GetItemImage(hItem, nImage, nSelectedImage);

      if (nImage == nSelectedImage)
      {
         m_TreeCtrl.SetItemImage(hItem, nImage, nImage + 1);
      }

      hItem = m_TreeCtrl.GetNextSiblingItem(hItem);
   }
}

CTreeCtrl::GetItemPartRect

Recupera il rettangolo di delimitazione per una parte specificata di un elemento specificato nel controllo visualizzazione albero corrente.

BOOL GetItemPartRect(
    HTREEITEM hItem,
    int nPart,
    LPRECT lpRect)const;

Parametri

hItem
[in] Handle per un elemento del controllo visualizzazione albero.

nPart
[in] Identificatore della parte. Deve essere impostato su TVGIPR_BUTTON.

lpRect
[out] Puntatore a una RECT struttura. Se questo metodo ha esito positivo, la struttura riceve le coordinate rettangolo della parte specificata da hItem e nPart.

Valore restituito

TRUE se questo metodo ha esito positivo; in caso contrario, FALSE.

Osservazioni:

Ogni elemento del controllo albero è delimitato da un rettangolo grafico. Ogni volta che si fa clic su un punto in tale rettangolo, si dice che l'elemento venga raggiunto. Questo metodo restituisce il rettangolo più grande in modo che quando si fa clic su un punto nel rettangolo, viene raggiunto l'elemento hItem identificato dal parametro .

Questo metodo invia il TVM_GETITEMPARTRECT messaggio, descritto in Windows SDK. Per altre informazioni, vedere la TreeView_GetItemPartRect macro.

Esempio

Il primo esempio di codice definisce una variabile, m_treeCtrl, usata per accedere al controllo di visualizzazione albero corrente. L'esempio di codice definisce anche un intero senza segno e diverse HTREEITEM variabili. Queste variabili vengono usate nell'esempio successivo.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

Nell'esempio di codice seguente viene usato un identificatore di accessibilità e il CTreeCtrl::MapAccIdToItem metodo per recuperare un handle per l'elemento della visualizzazione albero radice. L'esempio usa quindi l'handle e il CTreeCtrl::GetItemPartRect metodo per disegnare un rettangolo 3D intorno a tale elemento. In una sezione precedente dell'esempio di codice, che non viene visualizzata, è stata creata una visualizzazione albero costituita da un nodo paese/area radice per il Stati Uniti, i sottonodi per gli stati della Pennsylvania e Washington e gli elementi ad albero per le città in tali stati. È stato usato il CTreeCtrl::MapItemToAccID metodo per associare l'elemento della visualizzazione albero radice a un identificatore di accessibilità.

CRect rect;
HTREEITEM hUS = m_treeCtrl.MapAccIdToItem(accIdUS);
m_treeCtrl.GetItemPartRect(hUS, TVGIPR_BUTTON, &rect);
m_treeCtrl.GetDC()->Draw3dRect(&rect, RGB(255, 0, 0), RGB(0, 0, 255));

CTreeCtrl::GetItemRect

Chiamare questa funzione per recuperare il rettangolo di delimitazione per hItem e determinare se è visibile o meno.

BOOL GetItemRect(
    HTREEITEM hItem,
    LPRECT lpRect,
    BOOL bTextOnly) const;

Parametri

hItem
Handle di un elemento del controllo visualizzazione albero.

lpRect
Puntatore a una RECT struttura che riceve il rettangolo di delimitazione. Le coordinate sono relative all'angolo superiore sinistro del controllo visualizzazione albero.

bTextOnly
Se questo parametro è diverso da zero, il rettangolo di delimitazione include solo il testo dell'elemento. In caso contrario, include l'intera riga occupata dall'elemento nel controllo visualizzazione albero.

Valore restituito

Diverso da zero se l'elemento è visibile, con il rettangolo di delimitazione contenuto in lpRect. In caso contrario, 0 con lpRect non inizializzato.

Esempio

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Dump the bounds of hmyItem.
if (hmyItem != NULL)
{
   RECT r;

   m_TreeCtrl.GetItemRect(hmyItem, &r, FALSE);

   TRACE(TEXT("left = %d, top = %d, right = %d, bottom = %d\r\n"),
         r.left,
         r.top,
         r.right,
         r.bottom);
}

CTreeCtrl::GetItemState

Restituisce lo stato dell'elemento specificato da hItem.

UINT GetItemState(
    HTREEITEM hItem,
    UINT nStateMask) const;

Parametri

hItem
Handle dell'elemento il cui stato deve essere recuperato.

nStateMask
Maschera che indica uno o più stati da recuperare. Per altre informazioni sui valori possibili per nStateMask, vedere la discussione sui state membri e stateMask della TVITEM struttura in Windows SDK.

Valore restituito

Oggetto UINT che contiene l'operatore OR bit per bit C++ (|) dei valori specificati da nStateMask. Per informazioni sui valori possibili, vedere CTreeCtrl::GetItem. Per trovare il valore per uno stato specifico, eseguire un operatore AND bit per bit C++ (&) f il valore di stato e il valore restituito, come illustrato nell'esempio seguente.

Esempio

// Show all of the visible items in bold.
HTREEITEM hItem = m_TreeCtrl.GetFirstVisibleItem();

while (hItem != NULL)
{
   m_TreeCtrl.SetItemState(hItem, TVIS_BOLD, TVIS_BOLD);
   ASSERT(TVIS_BOLD & m_TreeCtrl.GetItemState(hItem, TVIS_BOLD));
   hItem = m_TreeCtrl.GetNextVisibleItem(hItem);
}

CTreeCtrl::GetItemStateEx

Recupera lo stato esteso dell'elemento specificato nel controllo visualizzazione albero corrente.

UINT GetItemStateEx(HTREEITEM hItem) const;

Parametri

hItem
[in] Handle per un elemento del controllo visualizzazione albero.

Valore restituito

Stato esteso dell'elemento. Per altre informazioni, vedere il uStateEx membro della TVITEMEX struttura.

Osservazioni:

Questo metodo invia il TVM_GETITEM messaggio, descritto in Windows SDK. Tale messaggio restituisce la TVITEMEX struttura che descrive l'elemento del controllo visualizzazione albero e questo metodo recupera il uStateEx membro da tale struttura.

CTreeCtrl::GetItemText

Restituisce il testo dell'elemento specificato da hItem.

CString GetItemText(HTREEITEM hItem) const;

Parametri

hItem
Handle dell'elemento il cui testo deve essere recuperato.

Valore restituito

Oggetto CString contenente il testo dell'elemento.

Esempio

Vedere l'esempio per CTreeCtrl::GetNextItem.

CTreeCtrl::GetLastVisibleItem

Recupera l'ultimo elemento del nodo non espanso nel controllo visualizzazione albero corrente.

HTREEITEM GetLastVisibleItem() const;

Valore restituito

Handle per l'ultimo elemento del nodo non espanso se il metodo ha esito positivo; in caso contrario, NULL.

Osservazioni:

Questo metodo invia il TVM_GETNEXTITEM messaggio, descritto in Windows SDK. Per altre informazioni, vedere il TVGN_LASTVISIBLE flag nel flag parametro di tale messaggio.

Esempio

Il primo esempio di codice definisce una variabile, m_treeCtrl, usata per accedere al controllo di visualizzazione albero corrente. L'esempio di codice definisce anche un intero senza segno e diverse HTREEITEM variabili. Nell'esempio seguente vengono usate una o più di queste variabili.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

L'esempio di codice successivo recupera un handle per l'ultimo elemento del nodo di visualizzazione albero non espanso e quindi disegna un rettangolo 3D intorno a tale elemento. In una sezione precedente dell'esempio di codice, che non viene visualizzata, è stata creata una visualizzazione albero costituita da un nodo paese/area radice per il Stati Uniti, i sottonodi per gli stati della Pennsylvania e Washington e gli elementi ad albero per le città in tali stati.

CRect rect;
HTREEITEM hLast = m_treeCtrl.GetLastVisibleItem();
m_treeCtrl.GetItemPartRect(hLast, TVGIPR_BUTTON, &rect);
m_treeCtrl.GetDC()->Draw3dRect(&rect, RGB(255, 0, 0), RGB(0, 0, 255));

CTreeCtrl::GetLineColor

Questa funzione membro implementa il comportamento del messaggio TVM_GETLINECOLORWin32 , come descritto in Windows SDK.

COLORREF GetLineColor() const;

Valore restituito

Colore della linea corrente.

Esempio

COLORREF cr = m_TreeCtrl.GetLineColor();

CTreeCtrl::GetNextItem

Chiamare questa funzione per recuperare l'elemento della visualizzazione albero con la relazione specificata, indicata dal nCode parametro , su hItem.

HTREEITEM GetNextItem(
    HTREEITEM hItem,
    UINT nCode) const;

Parametri

hItem
Handle di un elemento dell'albero.

nCode
Flag che indica il tipo di relazione con hItem. Questo flag può essere uno dei valori seguenti:

  • TVGN_CARET Recupera l'elemento attualmente selezionato.

  • TVGN_CHILD Recupera il primo elemento figlio dell'elemento specificato dal hItem parametro .

  • TVGN_DROPHILITE Recupera l'elemento di destinazione di un'operazione di trascinamento della selezione.

  • TVGN_FIRSTVISIBLE Recupera il primo elemento visibile.

  • TVGN_LASTVISIBLE Recupera l'ultimo elemento espanso nell'albero. Questo non recupera l'ultimo elemento visibile nella finestra della visualizzazione albero.

  • TVGN_NEXT Recupera l'elemento di pari livello successivo.

  • TVGN_NEXTVISIBLE Recupera l'elemento visibile successivo che segue l'elemento specificato.

  • TVGN_PARENT Recupera l'elemento padre dell'elemento specificato.

  • TVGN_PREVIOUS Recupera l'elemento di pari livello precedente.

  • TVGN_PREVIOUSVISIBLE Recupera il primo elemento visibile che precede l'elemento specificato.

  • TVGN_ROOT Recupera il primo elemento figlio dell'elemento radice di cui fa parte l'elemento specificato.

Valore restituito

Handle dell'elemento successivo se ha esito positivo; in caso contrario NULL, .

Osservazioni:

Questa funzione restituirà NULL se l'elemento recuperato è il nodo radice dell'albero. Ad esempio, se si usa questo messaggio con il TVGN_PARENT flag su un elemento figlio di primo livello del nodo radice della visualizzazione albero, il messaggio restituirà NULL.

Esempio

Per un esempio di uso GetNextItem in un ciclo, vedere CTreeCtrl::DeleteItem.

// find the currently selected item
HTREEITEM hCurSel = m_TreeCtrl.GetNextItem(TVI_ROOT, TVGN_CARET);

// report it to the user
if (hCurSel == NULL)
{
   AfxMessageBox(_T("There is no selected item"));
}
else
{
   CString str;
   str.Format(_T("The currently selected item is \"%s\""),
              (LPCTSTR)m_TreeCtrl.GetItemText(hCurSel));
   AfxMessageBox((LPCTSTR)str);
}

CTreeCtrl::GetNextSiblingItem

Chiamare questa funzione per recuperare il successivo elemento di pari livello di hItem.

HTREEITEM GetNextSiblingItem(HTREEITEM hItem) const;

Parametri

hItem
Handle di un elemento dell'albero.

Valore restituito

Handle dell'elemento di pari livello successivo; in caso contrario NULL, .

Esempio

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Show all of the children of hmyItem in bold.
if (m_TreeCtrl.ItemHasChildren(hmyItem))
{
   HTREEITEM hItem = m_TreeCtrl.GetChildItem(hmyItem);

   while (hItem != NULL)
   {
      m_TreeCtrl.SetItemState(hItem, TVIS_BOLD, TVIS_BOLD);
      hItem = m_TreeCtrl.GetNextSiblingItem(hItem);
   }
}

CTreeCtrl::GetNextVisibleItem

Chiamare questa funzione per recuperare l'elemento visibile successivo di hItem.

HTREEITEM GetNextVisibleItem(HTREEITEM hItem) const;

Parametri

hItem
Handle di un elemento dell'albero.

Valore restituito

Handle dell'elemento visibile successivo; in caso contrario NULL, .

Esempio

Vedere l'esempio per CTreeCtrl::SetCheck.

CTreeCtrl::GetParentItem

Chiamare questa funzione per recuperare l'elemento padre di hItem.

HTREEITEM GetParentItem(HTREEITEM hItem) const;

Parametri

hItem
Handle di un elemento dell'albero.

Valore restituito

Handle dell'elemento padre; in caso contrario NULL, .

Osservazioni:

Questa funzione restituirà NULL se l'elemento padre dell'elemento specificato è il nodo radice dell'albero.

Esempio

Vedere l'esempio per CTreeCtrl::EnsureVisible.

CTreeCtrl::GetPrevSiblingItem

Chiamare questa funzione per recuperare l'elemento di pari livello precedente di hItem.

HTREEITEM GetPrevSiblingItem(HTREEITEM hItem) const;

Parametri

hItem
Handle di un elemento dell'albero.

Valore restituito

Handle dell'elemento di pari livello precedente; in caso contrario NULL, .

Esempio

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Show all of the previous siblings of hmyItem in bold.
HTREEITEM hItem = hmyItem;

while (hItem != NULL)
{
   m_TreeCtrl.SetItemState(hItem, TVIS_BOLD, TVIS_BOLD);
   hItem = m_TreeCtrl.GetPrevSiblingItem(hItem);
}

CTreeCtrl::GetPrevVisibleItem

Chiamare questa funzione per recuperare l'elemento visibile precedente di hItem.

HTREEITEM GetPrevVisibleItem(HTREEITEM hItem) const;

Parametri

hItem
Handle di un elemento dell'albero.

Valore restituito

Handle dell'elemento visibile precedente; in caso contrario NULL, .

Esempio

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Show all of the previous visible items of hmyItem in bold.
HTREEITEM hItem = hmyItem;

while (hItem != NULL)
{
   m_TreeCtrl.SetItemState(hItem, TVIS_BOLD, TVIS_BOLD);
   hItem = m_TreeCtrl.GetPrevVisibleItem(hItem);
}

CTreeCtrl::GetRootItem

Chiamare questa funzione per recuperare l'elemento radice del controllo visualizzazione albero.

HTREEITEM GetRootItem() const;

Valore restituito

Handle dell'elemento radice; in caso contrario NULL, .

Esempio

Vedere l'esempio per CTreeCtrl::EditLabel.

CTreeCtrl::GetScrollTime

Chiamare questa funzione membro per recuperare il tempo di scorrimento massimo per il controllo visualizzazione albero.

UINT GetScrollTime() const;

Valore restituito

Tempo di scorrimento massimo, espresso in millisecondi.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio TVM_GETSCROLLTIMEWin32 , come descritto in Windows SDK.

CTreeCtrl::GetSelectedCount

Recupera il numero di elementi selezionati nel controllo visualizzazione albero corrente.

UINT GetSelectedCount();

Valore restituito

Numero di elementi selezionati.

Osservazioni:

Questo metodo invia il TVM_GETSELECTEDCOUNT messaggio, descritto in Windows SDK.

CTreeCtrl::GetSelectedItem

Chiamare questa funzione per recuperare l'elemento attualmente selezionato del controllo visualizzazione albero.

HTREEITEM GetSelectedItem() const;

Valore restituito

Handle dell'elemento selezionato; in caso contrario NULL, .

Esempio

// Expand the selected item and make it visible, if possible.
HTREEITEM hItem = m_TreeCtrl.GetSelectedItem();

if ((hItem != NULL) && m_TreeCtrl.ItemHasChildren(hItem))
{
   m_TreeCtrl.Expand(hItem, TVE_EXPAND);
   m_TreeCtrl.EnsureVisible(hItem);
}

CTreeCtrl::GetTextColor

Questa funzione membro implementa il comportamento del messaggio TVM_GETTEXTCOLORWin32 , come descritto in Windows SDK.

COLORREF GetTextColor() const;

Valore restituito

Valore COLORREF che rappresenta il colore del testo corrente. Se questo valore è -1, il controllo usa il colore di sistema per il colore del testo.

Esempio

Vedere l'esempio per CTreeCtrl::SetTextColor.

CTreeCtrl::GetToolTips

Questa funzione membro implementa il comportamento del messaggio TVM_GETTOOLTIPSWin32 , come descritto in Windows SDK.

CToolTipCtrl* GetToolTips() const;

Valore restituito

Puntatore a un CToolTipCtrl oggetto da utilizzare dal controllo albero. Se la Create funzione membro usa lo stile TVS_NOTOOLTIPS, non vengono utilizzate descrizioni comando e NULL viene restituito .

Osservazioni:

L'implementazione MFC di GetToolTips restituisce un CToolTipCtrl oggetto utilizzato dal controllo albero anziché da un handle per un controllo descrizione comando.

Esempio

// If the tree control does not have a tooltips control,
// then use m_ToolTips as the tooltips for the tree control.
if (m_TreeCtrl.GetToolTips() == NULL)
{
   m_TreeCtrl.SetToolTips(&m_ToolTips);
}

CTreeCtrl::GetVisibleCount

Chiamare questa funzione per recuperare un conteggio degli elementi visibili in un controllo visualizzazione albero.

UINT GetVisibleCount() const;

Valore restituito

Numero di elementi visibili nel controllo visualizzazione albero; in caso contrario - 1.

Esempio

Vedere l'esempio per CTreeCtrl::SetCheck.

CTreeCtrl::HitTest

Chiamare questa funzione per determinare la posizione del punto specificato rispetto all'area client di un controllo visualizzazione albero.

HTREEITEM HitTest(
    CPoint pt,
    UINT* pFlags = NULL) const;

HTREEITEM HitTest(TVHITTESTINFO* pHitTestInfo) const;

Parametri

pt
Coordinate client del punto da testare.

pFlags
Puntatore a un numero intero che riceve informazioni sui risultati dell'hit test. Può essere uno o più valori elencati sotto il flags membro nella sezione Osservazioni.

pHitTestInfo
Indirizzo di una TVHITTESTINFO struttura che contiene la posizione di hit test e che riceve informazioni sui risultati dell'hit test.

Valore restituito

Handle dell'elemento di visualizzazione struttura ad albero che occupa il punto specificato o NULL se nessun elemento occupa il punto.

Osservazioni:

Quando questa funzione viene chiamata, il pt parametro specifica le coordinate del punto da testare. La funzione restituisce l'handle dell'elemento nel punto specificato o NULL se nessun elemento occupa il punto. Inoltre, il pFlags parametro contiene un valore che indica la posizione del punto specificato. I valori possibili sono:

valore Descrizione
TVHT_ABOVE Sopra l'area client.
TVHT_BELOW Sotto l'area client.
TVHT_NOWHERE Nell'area client, ma sotto l'ultimo elemento.
TVHT_ONITEM Nella bitmap o nell'etichetta associata a un elemento.
TVHT_ONITEMBUTTON Sul pulsante associato a un elemento.
TVHT_ONITEMICON Nella bitmap associata a un elemento.
TVHT_ONITEMINDENT Nel rientro associato a un elemento.
TVHT_ONITEMLABEL Sull'etichetta (stringa) associata a un elemento.
TVHT_ONITEMRIGHT Nell'area a destra di un elemento.
TVHT_ONITEMSTATEICON Sull'icona dello stato per un elemento della visualizzazione ad albero che si trova in uno stato definito dall'utente.
TVHT_TOLEFT A sinistra dell'area client.
TVHT_TORIGHT A destra dell'area client.

Esempio

// Select the item that is at the point myPoint.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SelectItem(hItem);
}

CTreeCtrl::InsertItem

Chiamare questa funzione per inserire un nuovo elemento in un controllo visualizzazione albero.

HTREEITEM InsertItem(LPTVINSERTSTRUCT lpInsertStruct);

HTREEITEM InsertItem(
    UINT nMask,
    LPCTSTR lpszItem,
    int nImage,
    int nSelectedImage,
    UINT nState,
    UINT nStateMask,
    LPARAM lParam,
    HTREEITEM hParent,
    HTREEITEM hInsertAfter);

HTREEITEM InsertItem(
    LPCTSTR lpszItem,
    HTREEITEM hParent = TVI_ROOT,
    HTREEITEM hInsertAfter = TVI_LAST);

HTREEITEM InsertItem(
    LPCTSTR lpszItem,
    int nImage,
    int nSelectedImage,
    HTREEITEM hParent = TVI_ROOT,
    HTREEITEM hInsertAfter = TVI_LAST);

Parametri

lpInsertStruct
Puntatore a un TVINSERTSTRUCT oggetto che specifica gli attributi dell'elemento della visualizzazione albero da inserire.

nMask
Intero che specifica gli attributi da impostare. Vedere la TVITEM struttura in Windows SDK.

lpszItem
Indirizzo di una stringa contenente il testo dell'elemento.

nImage
Indice dell'immagine dell'elemento nell'elenco di immagini del controllo visualizzazione albero.

nSelectedImage
Indice dell'immagine selezionata dell'elemento nell'elenco di immagini del controllo visualizzazione albero.

nState
Specifica i valori per gli stati dell'elemento. Per un elenco degli stati appropriati, vedere Tree View Control Item States (Stati degli elementi del controllo visualizzazione albero) in Windows SDK.

nStateMask
Specifica gli stati da impostare. Vedere la TVITEM struttura in Windows SDK.

lParam
Valore specifico dell'applicazione di dimensioni del puntatore associato all'elemento.

hParent
Handle dell'elemento padre dell'elemento inserito.

hInsertAfter
Handle dell'elemento dopo il quale deve essere inserito il nuovo elemento.

Valore restituito

Handle del nuovo elemento in caso di esito positivo; in caso contrario NULL, .

Osservazioni:

Nell'esempio vengono illustrate le situazioni in cui è possibile usare ogni versione della funzione durante l'inserimento di un elemento del controllo albero.

Esempio

// Insert a root item using the structure. We must
// initialize a TVINSERTSTRUCT structure and pass its
// address to the call. 

TVINSERTSTRUCT tvInsert;
tvInsert.hParent = NULL;
tvInsert.hInsertAfter = NULL;
tvInsert.item.mask = TVIF_TEXT;
tvInsert.item.pszText = _T("United States");

HTREEITEM hCountry = m_TreeCtrl.InsertItem(&tvInsert);

// Insert subitems of that root. Pennsylvania is
// a state in the United States, so its item will be a child
// of the United States item. We won't set any image or states,
// so we supply only the TVIF_TEXT mask flag. This
// override provides nearly complete control over the
// insertion operation without the tedium of initializing
// a structure. If you're going to add lots of items
// to a tree, you might prefer the structure override
// as it affords you a performance win by allowing you
// to initialize some fields of the structure only once,
// outside of your insertion loop.

HTREEITEM hPA = m_TreeCtrl.InsertItem(TVIF_TEXT,
   _T("Pennsylvania"), 0, 0, 0, 0, 0, hCountry, NULL);

// Insert the "Washington" item and assure that it is
// inserted after the "Pennsylvania" item. This override is 
// more appropriate for conveniently inserting items with 
// images.

HTREEITEM hWA = m_TreeCtrl.InsertItem(_T("Washington"),
   0, 0, hCountry, hPA);

// We'll add some cities under each of the states.
// The override used here is most appropriate
// for inserting text-only items.

m_TreeCtrl.InsertItem(_T("Pittsburgh"), hPA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Harrisburg"), hPA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Altoona"), hPA, TVI_SORT);

m_TreeCtrl.InsertItem(_T("Seattle"), hWA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Kalaloch"), hWA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Yakima"), hWA, TVI_SORT);

CTreeCtrl::ItemHasChildren

Utilizzare questa funzione per determinare se l'elemento della struttura ad albero specificato da hItem contiene elementi figlio.

BOOL ItemHasChildren(HTREEITEM hItem) const;

Parametri

hItem
Handle di un elemento dell'albero.

Valore restituito

Diverso da zero se l'elemento della struttura ad albero specificato da hItem contiene elementi figlio; 0 se non lo fa.

Osservazioni:

In tal caso, è quindi possibile usare CTreeCtrl::GetChildItem per recuperare tali elementi figlio.

Esempio

Vedere l'esempio per CTreeCtrl::GetSelectedItem.

CTreeCtrl::MapAccIdToItem

Esegue il mapping dell'identificatore di accessibilità specificato all'handle di un elemento di visualizzazione albero nel controllo visualizzazione albero corrente.

HTREEITEM MapAccIdToItem(UINT uAccId) const;

Parametri

uAccId
[in] Identificatore di accessibilità per un elemento nell'elemento della visualizzazione albero.

Valore restituito

Handle di un elemento della visualizzazione albero (HTREEITEM) che corrisponde al uAccId parametro . Per altre informazioni, vedere il hItem membro della TVITEMEX struttura.

Osservazioni:

Gli strumenti per l'accessibilità sono applicazioni che aiutano le persone con disabilità a usare i computer. Un identificatore di accessibilità viene usato dall'interfaccia IAccessible per specificare in modo univoco un elemento in una finestra. Per altre informazioni sulle IAccessible API, vedere Microsoft Active Accessibility.

Questo metodo invia il TVM_MAPACCIDTOHTREEITEM messaggio, descritto in Windows SDK.

Esempio

Il primo esempio di codice definisce una variabile, m_treeCtrl, usata per accedere al controllo di visualizzazione albero corrente. L'esempio di codice definisce anche un intero senza segno e diverse HTREEITEM variabili. Queste variabili vengono usate nell'esempio successivo.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

Nell'esempio di codice seguente viene usato un identificatore di accessibilità e il CTreeCtrl::MapAccIdToItem metodo per recuperare un handle per l'elemento della visualizzazione albero radice. L'esempio usa l'handle e il CTreeCtrl::GetItemPartRect metodo per disegnare un rettangolo 3D intorno a tale elemento. In una sezione precedente dell'esempio di codice, che non viene visualizzata, è stata creata una visualizzazione albero costituita da un nodo paese/area radice per il Stati Uniti, i sottonodi per gli stati della Pennsylvania e Washington e gli elementi ad albero per le città in tali stati. È stato usato il CTreeCtrl::MapItemToAccID metodo per associare l'elemento della visualizzazione albero radice a un identificatore di accessibilità.

CRect rect;
HTREEITEM hUS = m_treeCtrl.MapAccIdToItem(accIdUS);
m_treeCtrl.GetItemPartRect(hUS, TVGIPR_BUTTON, &rect);
m_treeCtrl.GetDC()->Draw3dRect(&rect, RGB(255, 0, 0), RGB(0, 0, 255));

CTreeCtrl::MapItemToAccID

Esegue il mapping dell'handle specificato di un elemento della visualizzazione albero nel controllo visualizzazione albero corrente a un identificatore di accessibilità.

UINT MapItemToAccID(HTREEITEM hItem) const;

Parametri

hItem
[in] Handle di un elemento della visualizzazione albero nel controllo . Per altre informazioni, vedere il hItem membro della TVITEMEX struttura.

Valore restituito

Identificatore di accessibilità che corrisponde al parametro hItem .

Osservazioni:

Gli strumenti per l'accessibilità sono applicazioni che aiutano le persone con disabilità a usare i computer. Un identificatore di accessibilità viene usato dall'interfaccia IAccessible per specificare in modo univoco un elemento in una finestra. Per altre informazioni sulle IAccessible API, vedere Microsoft Active Accessibility.

Questo metodo invia il TVM_MAPHTREEITEMTOACCID messaggio, descritto in Windows SDK.

Esempio

Il primo esempio di codice definisce una variabile, m_treeCtrl, usata per accedere al controllo di visualizzazione albero corrente. L'esempio di codice definisce anche un intero senza segno e diverse HTREEITEM variabili. Queste variabili vengono usate nell'esempio successivo.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

Nell'esempio di codice successivo viene ottenuto un numero di identificazione per un elemento del controllo visualizzazione albero. In una sezione precedente dell'esempio di codice, che non viene visualizzata, è stata creata una visualizzazione albero costituita da un nodo paese/area radice per il Stati Uniti, i sottonodi per gli stati della Pennsylvania e Washington e gli elementi ad albero per le città in tali stati. Questo esempio di codice ottiene un numero di identificazione univoco per il nodo paese/area radice.

// Map an accessibility identifier to the Pennsylvania node.
accIdUS = m_treeCtrl.MapItemToAccId(hCountry);

CTreeCtrl::Select

Chiamare questa funzione per selezionare l'elemento della visualizzazione albero specificato, scorrere l'elemento nella visualizzazione o ridisegnare l'elemento nello stile utilizzato per indicare la destinazione di un'operazione di trascinamento della selezione.

BOOL Select(
    HTREEITEM hItem,
    UINT nCode);

Parametri

hItem
Handle di un elemento dell'albero.

nCode
Tipo di azione da eseguire. Questo parametro può avere uno dei valori seguenti:

  • TVGN_CARET Imposta la selezione sull'elemento specificato.

  • TVGN_DROPHILITE Ridisegna l'elemento specificato nello stile utilizzato per indicare la destinazione di un'operazione di trascinamento della selezione.

  • TVGN_FIRSTVISIBLE Scorre verticalmente la visualizzazione albero in modo che l'elemento specificato sia il primo elemento visibile.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Se nCode contiene il valore TVGN_CARET, la finestra padre riceve i TVN_SELCHANGING messaggi di notifica e TVN_SELCHANGED . Inoltre, se l'elemento specificato è l'elemento figlio di un elemento padre compresso, l'elenco di elementi figlio dell'elemento padre viene espanso per visualizzare l'elemento specificato. In questo caso, la finestra padre riceve i TVN_ITEMEXPANDING messaggi di notifica e TVN_ITEMEXPANDED .

Esempio

Vedere l'esempio per CTreeCtrl::HitTest.

CTreeCtrl::SelectDropTarget

Chiamare questa funzione per ridisegnare l'elemento nello stile utilizzato per indicare la destinazione di un'operazione di trascinamento della selezione.

BOOL SelectDropTarget(HTREEITEM hItem);

Parametri

hItem
Handle di un elemento dell'albero.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Esempio

// Set the item at the point myPoint as the drop target.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SelectDropTarget(hItem);
   ASSERT(m_TreeCtrl.GetDropHilightItem() == hItem);
}

CTreeCtrl::SelectItem

Chiamare questa funzione per selezionare l'elemento di visualizzazione albero specificato.

BOOL SelectItem(HTREEITEM hItem);

Parametri

hItem
Handle di un elemento dell'albero.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Se hItem è NULL, questa funzione non seleziona alcun elemento.

Esempio

// Select the item that is at the point myPoint.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SelectItem(hItem);
}

CTreeCtrl::SelectSetFirstVisible

Chiamare questa funzione per scorrere la visualizzazione albero verticalmente in modo che l'elemento specificato sia il primo elemento visibile.

BOOL SelectSetFirstVisible(HTREEITEM hItem);

Parametri

hItem
Handle dell'elemento dell'albero da impostare come primo elemento visibile.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

La funzione invia un messaggio alla finestra con i TVM_SELECTITEM parametri del messaggio e TVGN_FIRSTVISIBLE .

Esempio

// Select the item at the point myPoint as the first visible item.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SelectSetFirstVisible(hItem);
}

CTreeCtrl::SetAutoscrollInfo

Imposta la frequenza di registrazione automatica del controllo visualizzazione albero corrente.

BOOL SetAutoscrollInfo(
    UINT uPixelsPerSec,
    UINT uUpdateTime);

Parametri

uPixelsPerSec
[in] Numero di pixel al secondo da scorrere.

uUpdateTime
[in] Intervallo di tempo tra gli aggiornamenti del controllo.

Valore restituito

Restituisce sempre TRUE.

Osservazioni:

I parametri di registrazione automatica vengono usati per scorrere verso la visualizzazione di un elemento attualmente non visibile. Il controllo visualizzazione albero deve avere lo TVS_EX_AUTOHSCROLL stile esteso, descritto in Stili estesi del controllo visualizzazione albero.

Questo metodo invia il TVM_SETAUTOSCROLLINFO messaggio, descritto in Windows SDK.

Esempio

Il primo esempio di codice definisce una variabile, m_treeCtrl, usata per accedere al controllo di visualizzazione albero corrente. L'esempio di codice definisce anche un intero senza segno e diverse HTREEITEM variabili. Queste variabili vengono usate nell'esempio successivo.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

Nell'esempio di codice seguente viene impostato il comportamento della registrazione automatica del controllo visualizzazione albero corrente. In una sezione precedente dell'esempio di codice, che non viene visualizzata, è stata creata una visualizzazione albero costituita da un nodo paese/area radice per il Stati Uniti, i sottonodi per gli stati della Pennsylvania e Washington e gli elementi ad albero per le città in tali stati. Il controllo visualizzazione albero è stato intenzionalmente ridotto in modo che sia necessario scorrere automaticamente per visualizzare l'elemento della struttura ad albero con lo stato attivo. L'esempio di codice imposta il controllo visualizzazione albero per scorrere automaticamente 30 pixel al secondo ogni 5 secondi fino a quando l'elemento della struttura ad albero non è visualizzato.

// Scroll 30 pixels/sec and redraw every 5 seconds.
m_treeCtrl.SetAutoscrollInfo(30, 5);

CTreeCtrl::SetBkColor

Questa funzione membro implementa il comportamento del messaggio TVM_SETBKCOLORWin32 , come descritto in Windows SDK.

COLORREF SetBkColor(COLORREF clr);

Parametri

clr
Valore COLORREF che contiene il nuovo colore di sfondo. Se questo valore è -1, il controllo ripristina l'uso del colore di sistema per il colore di sfondo.

Valore restituito

Valore COLORREF che rappresenta il colore del testo corrente. Se questo valore è -1, il controllo usa il colore di sistema per il colore del testo.

Esempio

Vedere l'esempio per CTreeCtrl::SetTextColor.

CTreeCtrl::SetCheck

Chiamare questa funzione membro per impostare lo stato di controllo per un elemento del controllo albero.

BOOL SetCheck(
    HTREEITEM hItem,
    BOOL fCheck = TRUE);

Parametri

hItem
Oggetto HTREEITEM per ricevere la modifica dello stato di controllo.

fCheck
Indica se l'elemento del controllo albero deve essere selezionato o deselezionato. Per impostazione predefinita, SetCheck imposta l'elemento da controllare.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Quando l'elemento del controllo albero viene selezionato (fCheck impostato su TRUE), l'elemento viene visualizzato con un segno di spunta adiacente.

Esempio

UINT uCount = m_TreeCtrl.GetVisibleCount();
HTREEITEM hItem = m_TreeCtrl.GetFirstVisibleItem();

// Toggle the check state of all the visible items.
for (UINT i = 0; i < uCount; i++)
{
   ASSERT(hItem != NULL);
   m_TreeCtrl.SetCheck(hItem, !m_TreeCtrl.GetCheck(hItem));
   hItem = m_TreeCtrl.GetNextVisibleItem(hItem);
}

Per usare le caselle di controllo, impostare TVS_CHECKBOXES prima di popolare il controllo albero.

m_TreeCtrl.ModifyStyle(0, TVS_CHECKBOXES);

HTREEITEM aItem = m_TreeCtrl.InsertItem(_T("AAA"));
m_TreeCtrl.SetCheck(aItem);

CTreeCtrl::SetExtendedStyle

Imposta gli stili estesi per il controllo visualizzazione albero corrente.

DWORD SetExtendedStyle(
    DWORD dwExMask,
    DWORD dwExStyles);

Parametri

dwExMask
[in] Maschera di bit che specifica quali stili nel controllo visualizzazione albero corrente sono interessati da questo metodo. Se questo parametro è zero, viene ignorato e il valore del dwExStyles parametro viene assegnato al controllo visualizzazione albero. Specificare zero o una combinazione bit per bit degli stili descritti in Stili estesi del controllo visualizzazione albero.

dwExStyles
[in] Maschera di bit che specifica gli stili del controllo visualizzazione albero corrente da impostare o cancellare. Per impostare una combinazione di stili, specificare una combinazione bit per bit (OR) degli stili descritti in Stili estesi del controllo visualizzazione albero. Per cancellare un set di stili, specificare zero.

Valore restituito

Valore che contiene gli stili di controllo estesi precedenti.

Osservazioni:

Questo metodo cancella gli stili specificati nel dwExMask parametro , quindi imposta gli stili specificati nel dwExStyles parametro . Solo gli stili estesi che corrispondono ai bit in fase di dwExMask modifica.

Questo metodo invia il TVM_SETEXTENDEDSTYLE messaggio, descritto in Windows SDK.

Esempio

Il primo esempio di codice definisce una variabile, m_treeCtrl, usata per accedere al controllo di visualizzazione albero corrente. L'esempio di codice definisce anche un intero senza segno e diverse HTREEITEM variabili. Queste variabili vengono usate nell'esempio successivo.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

Nell'esempio di codice successivo viene aggiunto lo TVS_EX_AUTOHSCROLL stile esteso al controllo visualizzazione albero corrente. In una sezione precedente dell'esempio di codice, che non viene visualizzata, è stata creata una visualizzazione albero costituita da un nodo paese/area radice per il Stati Uniti, i sottonodi per gli stati della Pennsylvania e Washington e gli elementi ad albero per le città in tali stati. Il controllo visualizzazione albero è stato intenzionalmente ridotto in modo che sia necessario scorrere automaticamente per visualizzare l'elemento della struttura ad albero con lo stato attivo.

m_treeCtrl.SetExtendedStyle(TVS_EX_AUTOHSCROLL, TVS_EX_AUTOHSCROLL);

CTreeCtrl::SetImageList

Chiamare questa funzione per impostare l'elenco di immagini normali o di stato per un controllo visualizzazione albero e ridisegnare il controllo usando le nuove immagini.

CImageList* SetImageList(
    CImageList* pImageList,
    int nImageListType);

Parametri

pImageList
Puntatore all'elenco di immagini da assegnare. Se pImageList è NULL, tutte le immagini vengono rimosse dal controllo visualizzazione albero.

nImageListType
Tipo di elenco di immagini da impostare. L'elenco di immagini può essere uno dei valori seguenti:

  • TVSIL_NORMAL Imposta l'elenco di immagini normale, che contiene le immagini selezionate e non selezionate per l'elemento della visualizzazione albero. È necessario usare questo stato per le immagini sovrapposte.

  • TVSIL_STATE Imposta l'elenco di immagini di stato, che contiene le immagini per gli elementi della visualizzazione albero in uno stato definito dall'utente.

Valore restituito

Puntatore all'elenco di immagini precedente, se presente; in caso contrario NULL, .

Esempio

Vedere l'esempio per CTreeCtrl::GetImageList.

CTreeCtrl::SetIndent

Chiamare questa funzione per impostare la larghezza del rientro per un controllo visualizzazione albero e ridisegnare il controllo in modo da riflettere la nuova larghezza.

void SetIndent(UINT nIndent);

Parametri

nIndent
Larghezza, in pixel, del rientro. Se nIndent è minore della larghezza minima definita dal sistema, la nuova larghezza viene impostata sul valore minimo definito dal sistema.

Esempio

Vedere l'esempio per CTreeCtrl::GetIndent.

CTreeCtrl::SetInsertMark

Questa funzione membro implementa il comportamento del messaggio TVM_SETINSERTMARKWin32 , come descritto in Windows SDK.

BOOL SetInsertMark(
    HTREEITEM hItem,
    BOOL fAfter = TRUE);

Parametri

hItem
HTREEITEM che specifica in quale elemento verrà inserito il segno di inserimento. Se questo argomento è NULL, il segno di inserimento viene rimosso.

fAfter
Valore BOOL che specifica se il segno di inserimento viene posizionato prima o dopo l'elemento specificato. Se questo argomento è diverso da zero, il segno di inserimento verrà inserito dopo l'elemento. Se questo argomento è zero, il segno di inserimento verrà inserito prima dell'elemento.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Esempio

// Set the insert mark to be before the item at the point myPoint.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SetInsertMark(hItem, FALSE);
}

CTreeCtrl::SetInsertMarkColor

Questa funzione membro implementa il comportamento del messaggio TVM_SETINSERTMARKCOLORWin32 , come descritto in Windows SDK.

COLORREF SetInsertMarkColor(COLORREF clrNew);

Parametri

clrNew
Valore COLORREF che contiene il nuovo colore del segno di inserimento.

Valore restituito

Valore COLORREF contenente il colore del segno di inserimento precedente.

Esempio

Vedere l'esempio per CTreeCtrl::GetInsertMarkColor.

CTreeCtrl::SetItem

Chiamare questa funzione per impostare gli attributi dell'elemento di visualizzazione albero specificato.

BOOL SetItem(TVITEM* pItem);

BOOL SetItem(
    HTREEITEM hItem,
    UINT nMask,
    LPCTSTR lpszItem,
    int nImage,
    int nSelectedImage,
    UINT nState,
    UINT nStateMask,
    LPARAM lParam);

Parametri

pItem
Puntatore a una TVITEM struttura che contiene i nuovi attributi dell'elemento, come descritto in Windows SDK.

hItem
Handle dell'elemento i cui attributi devono essere impostati. Vedere il hItem membro della TVITEM struttura in Windows SDK.

nMask
Intero che specifica gli attributi da impostare. Vedere il mask membro della TVITEM struttura.

lpszItem
Indirizzo di una stringa contenente il testo dell'elemento.

nImage
Indice dell'immagine dell'elemento nell'elenco di immagini del controllo visualizzazione albero. Vedere il iImage membro della TVITEM struttura.

nSelectedImage
Indice dell'immagine selezionata dell'elemento nell'elenco di immagini del controllo visualizzazione albero. Vedere il iSelectedImage membro della TVITEM struttura.

nState
Specifica i valori per gli stati dell'elemento. Vedere il State membro della TVITEM struttura.

nStateMask
Specifica gli stati da impostare. Vedere il stateMask membro della TVITEM struttura.

lParam
Valore specifico dell'applicazione di dimensioni del puntatore associato all'elemento.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

TVITEM Nella struttura il hItem membro identifica l'elemento e il mask membro specifica gli attributi da impostare.

Se il mask membro o il nMask parametro specifica il TVIF_TEXT valore, il pszText membro o è lpszItem l'indirizzo di una stringa con terminazione Null e il cchTextMax membro viene ignorato. Se mask (o nMask) specifica il TVIF_STATE valore, il stateMask membro o il nStateMask parametro specifica gli stati dell'elemento da modificare e il membro o nState il state parametro contiene i valori per tali stati.

Esempio

// Show the item at the point myPoint in bold.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SetItem(hItem, TVIF_STATE, NULL, 0, 0, TVIS_BOLD,
                      TVIS_BOLD, 0);
}

CTreeCtrl::SetItemData

Chiamare questa funzione per impostare il valore specifico dell'applicazione associato all'elemento specificato.

BOOL SetItemData(
    HTREEITEM hItem,
    DWORD_PTR dwData);

Parametri

hItem
Handle dell'elemento di cui recuperare i dati.

dwData
Valore specifico dell'applicazione di dimensioni del puntatore associato all'elemento specificato da hItem.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Esempio

CString str;
HTREEITEM hItem;

// Insert 20 items into the tree control making every item's
// data be the handle of the item.
for (int i = 0; i < 20; i++)
{
   str.Format(TEXT("item %d"), i);
   hItem = m_TreeCtrl.InsertItem(str);

   if (hItem != NULL)
   {
      m_TreeCtrl.SetItemData(hItem, (DWORD_PTR)hItem);
   }
}

CTreeCtrl::SetItemExpandedImageIndex

Imposta l'indice dell'immagine da visualizzare quando l'elemento specificato del controllo visualizzazione albero corrente si trova nello stato espanso.

BOOL SetItemExpandedImageIndex(
    HTREEITEM hItem,
    int iExpandedImage);

Parametri

hItem
[in] Handle per un elemento del controllo visualizzazione albero.

iExpandedImage
[in] Indice dell'immagine da visualizzare quando l'elemento specificato si trova nello stato espanso.

Valore restituito

TRUE se questo metodo ha esito positivo; in caso contrario, FALSE.

Osservazioni:

Questo metodo invia il TVM_SETITEM messaggio, descritto in Windows SDK. Questo metodo assegna il iExpandedImage parametro al iExpandedImage membro di una TVITEMEX struttura e quindi usa tale struttura nel messaggio.

Esempio

Il primo esempio di codice definisce una variabile, m_treeCtrl, usata per accedere al controllo di visualizzazione albero corrente. L'esempio di codice definisce anche un intero senza segno e diverse HTREEITEM variabili. Queste variabili vengono usate nell'esempio successivo.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

L'esempio di codice successivo è un test semplice per determinare se il CTreeCtrl::GetItemExpandedImageIndex metodo restituisce il valore impostato dal CTreeCtrl::SetItemExpandedImageIndex metodo . In una sezione precedente dell'esempio di codice, che non viene visualizzata, è stata creata una visualizzazione albero costituita da un nodo paese/area radice per il Stati Uniti, i sottonodi per gli stati della Pennsylvania e Washington e gli elementi ad albero per le città in tali stati.

CString str;
CString msg = _T("The set and retrieved item expanded image ")
              _T("indexes are%s equal.");
int nSetItem = 0;
m_treeCtrl.SetItemExpandedImageIndex(hCountry, nSetItem);
int nItem = m_treeCtrl.GetItemExpandedImageIndex(hCountry);
if (nItem == nSetItem)
   str.Format(msg, _T(""));
else
   str.Format(msg, _T(" not"));
AfxMessageBox(str, MB_ICONINFORMATION);

CTreeCtrl::SetItemHeight

Questa funzione membro implementa il comportamento del messaggio TVM_SETITEMHEIGHTWin32 , come descritto in Windows SDK.

SHORT SetItemHeight(SHORT cyHeight);

Parametri

cyHeight
Specifica la nuova altezza di ogni elemento nella visualizzazione albero, in pixel. Se questo argomento è minore dell'altezza delle immagini, verrà impostato sull'altezza delle immagini. Se questo argomento non è pari, verrà arrotondato per difetto al valore pari più vicino. Se questo argomento è -1, il controllo verrà ripristinato usando l'altezza predefinita dell'elemento.

Valore restituito

Altezza precedente degli elementi, in pixel.

Esempio

Vedere l'esempio per CTreeCtrl::GetItemHeight.

CTreeCtrl::SetItemImage

Associa le immagini a un elemento.

BOOL SetItemImage(
    HTREEITEM hItem,
    int nImage,
    int nSelectedImage);

Parametri

hItem
Handle dell'elemento di cui impostare l'immagine.

nImage
Indice dell'immagine dell'elemento nell'elenco di immagini del controllo visualizzazione albero.

nSelectedImage
Indice dell'immagine selezionata dell'elemento nell'elenco di immagini del controllo visualizzazione albero.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

A ogni elemento di un controllo visualizzazione albero 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.

Chiamare questa funzione per impostare l'indice dell'immagine dell'elemento e l'immagine selezionata all'interno dell'elenco di immagini del controllo visualizzazione albero.

Per altre informazioni sulle immagini, vedere CImageList.

Esempio

Vedere l'esempio per CTreeCtrl::GetItemImage.

CTreeCtrl::SetItemState

Imposta lo stato dell'elemento specificato da hItem.

BOOL SetItemState(
    HTREEITEM hItem,
    UINT nState,
    UINT nStateMask);

Parametri

hItem
Handle dell'elemento il cui stato deve essere impostato.

nState
Specifica nuovi stati per l'elemento.

nStateMask
Specifica gli stati da modificare.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Per informazioni sugli stati, vedere CTreeCtrl::GetItem.

Esempio

Vedere l'esempio per CTreeCtrl::GetItemState.

CTreeCtrl::SetItemStateEx

Imposta lo stato esteso dell'elemento specificato nel controllo visualizzazione albero corrente.

BOOL SetItemStateEx(
    HTREEITEM hItem,
    UINT uStateEx);

Parametri

hItem
[in] Handle per un elemento del controllo visualizzazione albero.

uStateEx
[in] Stato esteso dell'elemento. Per altre informazioni, vedere il uStateEx membro della TVITEMEX struttura.

Valore restituito

TRUE se questo metodo ha esito positivo; in caso contrario, FALSE.

Osservazioni:

Questo metodo invia il TVM_SETITEM messaggio, descritto in Windows SDK. Questo metodo assegna il uStateEx parametro al uStateEx membro di una TVITEMEX struttura e quindi usa tale struttura nel messaggio.

Esempio

Il primo esempio di codice definisce una variabile, m_treeCtrl, usata per accedere al controllo di visualizzazione albero corrente. L'esempio di codice definisce anche un intero senza segno e diverse HTREEITEM variabili. Queste variabili vengono usate nell'esempio successivo.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

Nell'esempio di codice successivo viene impostato lo stato disabilitato di un elemento della visualizzazione albero. In una sezione precedente dell'esempio di codice, che non viene visualizzata, è stata creata una visualizzazione albero costituita da un nodo paese/area radice per il Stati Uniti, i sottonodi per gli stati della Pennsylvania e Washington e gli elementi ad albero per le città in tali stati. Questo esempio di codice imposta lo stato disabilitato del nodo Pennsylvania.

// Disable the Pennsylvania node.
m_treeCtrl.SetItemStateEx(hPA, TVIS_EX_DISABLED);

CTreeCtrl::SetItemText

Imposta il testo dell'elemento specificato da hItem.

BOOL SetItemText(
    HTREEITEM hItem,
    LPCTSTR lpszItem);

Parametri

hItem
Handle dell'elemento il cui testo deve essere impostato.

lpszItem
Indirizzo di una stringa contenente il nuovo testo per l'elemento

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Esempio

// Clear the text of the item at point myPoint.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SetItemText(hItem, NULL);
}

CTreeCtrl::SetLineColor

Chiamare questa funzione membro per impostare il colore della linea corrente per il controllo visualizzazione albero.

COLORREF SetLineColor(COLORREF clrNew = CLR_DEFAULT);

Parametri

clrNew
Nuovo colore della linea.

Valore restituito

Colore della linea precedente.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio TVM_SETLINECOLORWin32 , come descritto in Windows SDK.

Esempio

COLORREF clrPrev = m_TreeCtrl.SetLineColor(RGB(255, 0, 0));

CTreeCtrl::SetScrollTime

Chiamare questa funzione membro per impostare il tempo di scorrimento massimo per il controllo visualizzazione albero.

UINT SetScrollTime(UINT uScrollTime);

Parametri

uScrollTime
Nuovo tempo di scorrimento massimo, espresso in millisecondi. Se questo valore è minore di 100, verrà arrotondato fino a 100.

Valore restituito

Tempo di scorrimento massimo precedente, espresso in millisecondi.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio TVM_SETSCROLLTIMEWin32 , come descritto in Windows SDK.

CTreeCtrl::SetTextColor

Questa funzione membro implementa il comportamento del messaggio TVM_SETTEXTCOLORWin32 , come descritto in Windows SDK.

COLORREF SetTextColor(COLORREF clr);

Parametri

clr
Valore COLORREF che contiene il nuovo colore del testo. Se questo argomento è -1, il controllo ripristina l'uso del colore di sistema per il colore del testo.

Valore restituito

Valore COLORREF che rappresenta il colore del testo precedente. Se questo valore è -1, il controllo usava il colore di sistema per il colore del testo.

Esempio

// change text color to white and background to dark blue
m_TreeCtrl.SetTextColor(RGB(255, 255, 255));
ASSERT(m_TreeCtrl.GetTextColor() == RGB(255, 255, 255));
m_TreeCtrl.SetBkColor(RGB(0, 0, 128));
ASSERT(m_TreeCtrl.GetBkColor() == RGB(0, 0, 128));

// force repaint immediately
m_TreeCtrl.Invalidate();

CTreeCtrl::SetToolTips

Questa funzione membro implementa il comportamento del messaggio TVM_SETTOOLTIPSWin32 , come descritto in Windows SDK.

CToolTipCtrl* SetToolTips(CToolTipCtrl* pWndTip);

Parametri

pWndTip
Puntatore a un CToolTipCtrl oggetto che verrà utilizzato dal controllo albero.

Valore restituito

Puntatore a un CToolTipCtrl oggetto contenente la descrizione comando usata in precedenza dal controllo o NULL se in precedenza non venivano usate descrizioni comando.

Osservazioni:

Per usare le descrizioni comando, indicare lo TVS_NOTOOLTIPS stile quando si crea l'oggetto CTreeCtrl .

Esempio

Vedere l'esempio per CTreeCtrl::GetToolTips.

CTreeCtrl::ShowInfoTip

Visualizza la descrizione info per l'elemento specificato nel controllo visualizzazione albero corrente.

void ShowInfoTip(HTREEITEM hItem);

Parametri

hItem
[in] Handle per un elemento della visualizzazione albero nel controllo . Per altre informazioni, vedere il hItem membro della TVITEMEX struttura.

Osservazioni:

Per altre informazioni sulla differenza tra le descrizioni comando e le descrizioni comandi, vedere Descrizioni comando e suggerimenti.

Questo metodo invia il TVM_SHOWINFOTIP messaggio, descritto in Windows SDK.

CTreeCtrl::SortChildren

Chiamare questa funzione per ordinare alfabeticamente gli elementi figlio dell'elemento padre specificato in un controllo visualizzazione albero.

BOOL SortChildren(HTREEITEM hItem);

Parametri

hItem
Handle dell'elemento padre i cui elementi figlio devono essere ordinati. Se hItem è NULL, l'ordinamento procederà dalla radice dell'albero.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

SortChildren non si ripeterà attraverso l'albero; verranno ordinati solo i figli immediati di hItem .

Esempio

// Sort all of the items in the tree control.
m_TreeCtrl.SortChildren(TVI_ROOT);

CTreeCtrl::SortChildrenCB

Chiamare questa funzione per ordinare gli elementi della visualizzazione albero usando una funzione di callback definita dall'applicazione che confronta gli elementi.

BOOL SortChildrenCB(LPTVSORTCB pSort);

Parametri

pSort
Puntatore a una struttura TVSORTCB.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

La funzione di confronto della struttura, lpfnCompare, deve restituire un valore negativo se il primo elemento deve precedere il secondo, un valore positivo se il primo elemento deve seguire il secondo o zero se i due elementi sono equivalenti.

I lParam1 parametri e lParam2 corrispondono al lParam membro della TVITEM struttura per i due elementi confrontati. Il lParamSort parametro corrisponde al lParam membro della TV_SORTCB struttura.

Esempio

// Sort the item in reverse alphabetical order.
int CALLBACK MyCompareProc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
   // lParamSort contains a pointer to the tree control.
   // The lParam of an item is just its handle, 
   // as specified with SetItemData
   CTreeCtrl* pmyTreeCtrl = (CTreeCtrl*)lParamSort;
   CString strItem1 = pmyTreeCtrl->GetItemText((HTREEITEM)lParam1);
   CString strItem2 = pmyTreeCtrl->GetItemText((HTREEITEM)lParam2);

   return strItem2.Compare(strItem1);
}

 

TVSORTCB tvs;

// Sort the tree control's items using my
// callback procedure.
tvs.hParent = TVI_ROOT;
tvs.lpfnCompare = MyCompareProc;
tvs.lParam = (LPARAM)&m_TreeCtrl;

m_TreeCtrl.SortChildrenCB(&tvs);

Vedi anche

Esempio MFC CMNCTRL1
CWnd Classe
Grafico della gerarchia
CImageList Classe