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 CTreeCtrl
di , vedere:
Riferimento al controllo Visualizzazione albero in Windows SDK.
Gerarchia di ereditarietà
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 CreateWindow
e 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 CreateWindow
e 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. IlTVIS_EXPANDEDONCE
flag di stato viene reimpostato. Questo flag deve essere usato con ilTVE_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_GETBKCOLOR
Win32 , 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_GETINSERTMARKCOLOR
Win32 , 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_GETITEMHEIGHT
Win32 , 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_GETLINECOLOR
Win32 , 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 dalhItem
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_GETSCROLLTIME
Win32 , 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_GETTEXTCOLOR
Win32 , 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_GETTOOLTIPS
Win32 , 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_SETBKCOLOR
Win32 , 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_SETINSERTMARK
Win32 , 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_SETINSERTMARKCOLOR
Win32 , 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_SETITEMHEIGHT
Win32 , 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_SETLINECOLOR
Win32 , 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_SETSCROLLTIME
Win32 , come descritto in Windows SDK.
CTreeCtrl::SetTextColor
Questa funzione membro implementa il comportamento del messaggio TVM_SETTEXTCOLOR
Win32 , 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_SETTOOLTIPS
Win32 , 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