Classe CListCtrl

Incapsula la funzionalità di un "controllo di visualizzazione elenco" che mostra una raccolta di elementi ciascuno costituito da un'icona (da un elenco di immagini) e da un'etichetta.

Sintassi

class CListCtrl : public CWnd

Membri

Costruttori pubblici

Nome Descrizione
CListCtrl::CListCtrl Costruisce un oggetto CListCtrl.

Metodi pubblici

Nome Descrizione
CListCtrl::ApproximateViewRect Determina la larghezza e l'altezza necessarie per visualizzare gli elementi di un controllo visualizzazione elenco.
CListCtrl::Arrange Allinea gli elementi in una griglia.
CListCtrl::CancelEditLabel Annulla l'operazione di modifica del testo dell'elemento.
CListCtrl::Create Crea un controllo elenco e lo associa a un CListCtrl oggetto .
CListCtrl::CreateDragImage Crea un elenco di immagini di trascinamento per un elemento specificato.
CListCtrl::CreateEx Crea un controllo elenco con gli stili estesi di Windows specificati e lo associa a un CListCtrl oggetto .
CListCtrl::DeleteAllItems Elimina tutti gli elementi dal controllo .
CListCtrl::DeleteColumn Elimina una colonna dal controllo visualizzazione elenco.
CListCtrl::DeleteItem Elimina un elemento dal controllo .
CListCtrl::DrawItem Chiamato quando cambia un aspetto visivo di un controllo di disegno proprietario.
CListCtrl::EditLabel Inizia la modifica sul posto del testo di un elemento.
CListCtrl::EnableGroupView Abilita o disabilita se gli elementi di un controllo visualizzazione elenco vengono visualizzati come gruppo.
CListCtrl::EnsureVisible Assicura che un elemento sia visibile.
CListCtrl::FindItem Cerca un elemento della visualizzazione elenco con caratteristiche specificate.
CListCtrl::GetBkColor Recupera il colore di sfondo di un controllo visualizzazione elenco.
CListCtrl::GetBkImage Recupera l'immagine di sfondo corrente di un controllo visualizzazione elenco.
CListCtrl::GetCallbackMask Recupera la maschera di callback per un controllo visualizzazione elenco.
CListCtrl::GetCheck Recupera lo stato di visualizzazione corrente dell'immagine di stato associata a un elemento.
CListCtrl::GetColumn Recupera gli attributi della colonna di un controllo.
CListCtrl::GetColumnOrderArray Recupera l'ordine delle colonne (da sinistra a destra) di un controllo visualizzazione elenco.
CListCtrl::GetColumnWidth Recupera la larghezza di una colonna nella visualizzazione report o nella visualizzazione elenco.
CListCtrl::GetCountPerPage Calcola il numero di elementi che possono essere inseriti verticalmente in un controllo visualizzazione elenco.
CListCtrl::GetEditControl Recupera l'handle del controllo di modifica utilizzato per modificare il testo di un elemento.
CListCtrl::GetEmptyText Recupera la stringa da visualizzare se il controllo visualizzazione elenco corrente è vuoto.
CListCtrl::GetExtendedStyle Recupera gli stili estesi correnti di un controllo visualizzazione elenco.
CListCtrl::GetFirstSelectedItemPosition Recupera la posizione del primo elemento della visualizzazione elenco selezionato in un controllo visualizzazione elenco.
CListCtrl::GetFocusedGroup Recupera il gruppo con lo stato attivo della tastiera nel controllo di visualizzazione elenco corrente.
CListCtrl::GetGroupCount Recupera il numero di gruppi nel controllo visualizzazione elenco corrente.
CListCtrl::GetGroupInfo Ottiene le informazioni per un gruppo specificato del controllo visualizzazione elenco.
CListCtrl::GetGroupInfoByIndex Recupera informazioni su un gruppo specificato nel controllo visualizzazione elenco corrente.
CListCtrl::GetGroupMetrics Recupera le metriche di un gruppo.
CListCtrl::GetGroupRect Recupera il rettangolo di delimitazione per un gruppo specificato nel controllo visualizzazione elenco corrente.
CListCtrl::GetGroupState Recupera lo stato per un gruppo specificato nel controllo di visualizzazione elenco corrente.
CListCtrl::GetHeaderCtrl Recupera il controllo intestazione di un controllo visualizzazione elenco.
CListCtrl::GetHotCursor Recupera il cursore utilizzato quando il rilevamento rapido è abilitato per un controllo visualizzazione elenco.
CListCtrl::GetHotItem Recupera l'elemento della visualizzazione elenco attualmente sotto il cursore.
CListCtrl::GetHoverTime Recupera l'ora corrente del passaggio del mouse di un controllo visualizzazione elenco.
CListCtrl::GetImageList Recupera l'handle di un elenco di immagini utilizzato per gli elementi della visualizzazione elenco di disegno.
CListCtrl::GetInsertMark Recupera la posizione corrente del segno di inserimento.
CListCtrl::GetInsertMarkColor Recupera il colore corrente del segno di inserimento.
CListCtrl::GetInsertMarkRect Recupera il rettangolo che delimita il punto di inserimento.
CListCtrl::GetItem Recupera gli attributi di un elemento della visualizzazione elenco.
CListCtrl::GetItemCount Recupera il numero di elementi in un controllo visualizzazione elenco.
CListCtrl::GetItemData Recupera il valore specifico dell'applicazione associato a un elemento.
CListCtrl::GetItemIndexRect Recupera il rettangolo di delimitazione per tutto o parte di un elemento secondario nel controllo visualizzazione elenco corrente.
CListCtrl::GetItemPosition Recupera la posizione di un elemento della visualizzazione elenco.
CListCtrl::GetItemRect Recupera il rettangolo di delimitazione per un elemento.
CListCtrl::GetItemSpacing Calcola la spaziatura tra gli elementi nel controllo di visualizzazione elenco corrente.
CListCtrl::GetItemState Recupera lo stato di una voce di visualizzazione elenco.
CListCtrl::GetItemText Recupera il testo di un elemento della visualizzazione elenco o di un elemento secondario.
CListCtrl::GetNextItem Cerca un elemento della visualizzazione elenco con le proprietà specificate e con la relazione specificata con un determinato elemento.
CListCtrl::GetNextItemIndex Recupera l'indice dell'elemento nel controllo visualizzazione elenco corrente con un set specificato di proprietà.
CListCtrl::GetNextSelectedItem Recupera l'indice di una posizione dell'elemento della visualizzazione elenco e la posizione dell'elemento successivo della visualizzazione elenco selezionata per l'iterazione.
CListCtrl::GetNumberOfWorkAreas Recupera il numero corrente di aree di lavoro per un controllo visualizzazione elenco.
CListCtrl::GetOrigin Recupera l'origine della visualizzazione corrente per un controllo visualizzazione elenco.
CListCtrl::GetOutlineColor Recupera il colore del bordo di un controllo visualizzazione elenco.
CListCtrl::GetSelectedColumn Recupera l'indice della colonna attualmente selezionata nel controllo elenco.
CListCtrl::GetSelectedCount Recupera il numero di elementi selezionati nel controllo visualizzazione elenco.
CListCtrl::GetSelectionMark Recupera il segno di selezione di un controllo visualizzazione elenco.
CListCtrl::GetStringWidth Determina la larghezza minima della colonna necessaria per visualizzare tutte le stringhe specificate.
CListCtrl::GetSubItemRect Recupera il rettangolo di delimitazione di un elemento in un controllo visualizzazione elenco.
CListCtrl::GetTextBkColor Recupera il colore di sfondo del testo di un controllo visualizzazione elenco.
CListCtrl::GetTextColor Recupera il colore del testo di un controllo visualizzazione elenco.
CListCtrl::GetTileInfo Recupera informazioni su un riquadro in un controllo visualizzazione elenco.
CListCtrl::GetTileViewInfo Recupera informazioni su un controllo visualizzazione elenco nella visualizzazione riquadro.
CListCtrl::GetToolTips Recupera il controllo descrizione comando utilizzato dal controllo visualizzazione elenco per visualizzare le descrizioni comando.
CListCtrl::GetTopIndex Recupera l'indice dell'elemento più visibile all'inizio.
CListCtrl::GetView Ottiene la visualizzazione del controllo visualizzazione elenco.
CListCtrl::GetViewRect Recupera il rettangolo di delimitazione di tutti gli elementi nel controllo visualizzazione elenco.
CListCtrl::GetWorkAreas Recupera le aree di lavoro correnti di un controllo visualizzazione elenco.
CListCtrl::HasGroup Determina se il controllo visualizzazione elenco ha il gruppo specificato.
CListCtrl::HitTest Determina quale elemento della visualizzazione elenco si trova in una posizione specificata.
CListCtrl::InsertColumn Inserisce una nuova colonna in un controllo visualizzazione elenco.
CListCtrl::InsertGroup Inserisce un gruppo nel controllo visualizzazione elenco.
CListCtrl::InsertGroupSorted Inserisce il gruppo specificato in un elenco ordinato di gruppi.
CListCtrl::InsertItem Inserisce un nuovo elemento in un controllo visualizzazione elenco.
CListCtrl::InsertMarkHitTest Recupera il punto di inserimento più vicino a un punto specificato.
CListCtrl::IsGroupViewEnabled Determina se la visualizzazione gruppo è abilitata per un controllo visualizzazione elenco.
CListCtrl::IsItemVisible Indica se un elemento specificato nel controllo visualizzazione elenco corrente è visibile.
CListCtrl::MapIDToIndex Esegue il mapping dell'ID univoco di un elemento nel controllo di visualizzazione elenco corrente a un indice.
CListCtrl::MapIndexToID Esegue il mapping dell'indice di un elemento nel controllo visualizzazione elenco corrente a un ID univoco.
CListCtrl::MoveGroup Sposta il gruppo specificato.
CListCtrl::MoveItemToGroup Sposta il gruppo specificato nell'indice in base zero specificato del controllo visualizzazione elenco.
CListCtrl::RedrawItems Forza l'aggiornamento di un intervallo di elementi da parte di un controllo visualizzazione elenco.
CListCtrl::RemoveAllGroups Rimuove tutti i gruppi da un controllo visualizzazione elenco.
CListCtrl::RemoveGroup Rimuove il gruppo specificato dal controllo visualizzazione elenco.
CListCtrl::Scroll Scorre il contenuto di un controllo visualizzazione elenco.
CListCtrl::SetBkColor Imposta il colore di sfondo del controllo visualizzazione elenco.
CListCtrl::SetBkImage Imposta l'immagine di sfondo corrente di un controllo visualizzazione elenco.
CListCtrl::SetCallbackMask Imposta la maschera di callback per un controllo visualizzazione elenco.
CListCtrl::SetCheck Imposta lo stato di visualizzazione corrente dell'immagine di stato associata a un elemento.
CListCtrl::SetColumn Imposta gli attributi di una colonna della visualizzazione elenco.
CListCtrl::SetColumnOrderArray Imposta l'ordine delle colonne (da sinistra a destra) di un controllo visualizzazione elenco.
CListCtrl::SetColumnWidth Modifica la larghezza di una colonna nella visualizzazione report o nella visualizzazione elenco.
CListCtrl::SetExtendedStyle Imposta gli stili estesi correnti di un controllo visualizzazione elenco.
CListCtrl::SetGroupInfo Imposta le informazioni per il gruppo specificato di un controllo visualizzazione elenco.
CListCtrl::SetGroupMetrics Imposta le metriche di gruppo di un controllo visualizzazione elenco.
CListCtrl::SetHotCursor Imposta il cursore utilizzato quando il rilevamento rapido è abilitato per un controllo visualizzazione elenco.
CListCtrl::SetHotItem Imposta l'elemento attivo corrente di un controllo visualizzazione elenco.
CListCtrl::SetHoverTime Imposta l'ora corrente del passaggio del mouse di un controllo visualizzazione elenco.
CListCtrl::SetIconSpacing Imposta la spaziatura tra le icone in un controllo visualizzazione elenco.
CListCtrl::SetImageList Assegna un elenco di immagini a un controllo visualizzazione elenco.
CListCtrl::SetInfoTip Imposta il testo della descrizione comando.
CListCtrl::SetInsertMark Imposta il punto di inserimento sulla posizione definita.
CListCtrl::SetInsertMarkColor Imposta il colore del punto di inserimento.
CListCtrl::SetItem Imposta alcuni o tutti gli attributi di una voce di visualizzazione elenco.
CListCtrl::SetItemCount Prepara un controllo visualizzazione elenco per l'aggiunta di un numero elevato di elementi.
CListCtrl::SetItemCountEx Imposta il numero di elementi per un controllo visualizzazione elenco virtuale.
CListCtrl::SetItemData Imposta il valore specifico dell'applicazione dell'elemento.
CListCtrl::SetItemIndexState Imposta lo stato di un elemento nel controllo visualizzazione elenco corrente.
CListCtrl::SetItemPosition Sposta un elemento in una posizione specificata in un controllo visualizzazione elenco.
CListCtrl::SetItemState Modifica lo stato di un elemento in un controllo visualizzazione elenco.
CListCtrl::SetItemText Modifica il testo di un elemento o di un elemento secondario della visualizzazione elenco.
CListCtrl::SetOutlineColor Imposta il colore del bordo di un controllo visualizzazione elenco.
CListCtrl::SetSelectedColumn Imposta la colonna selezionata del controllo visualizzazione elenco.
CListCtrl::SetSelectionMark Imposta il segno di selezione di un controllo visualizzazione elenco.
CListCtrl::SetTextBkColor Imposta il colore di sfondo del testo in un controllo visualizzazione elenco.
CListCtrl::SetTextColor Imposta il colore del testo di un controllo visualizzazione elenco.
CListCtrl::SetTileInfo Imposta le informazioni per un riquadro del controllo visualizzazione elenco.
CListCtrl::SetTileViewInfo Imposta le informazioni utilizzate da un controllo visualizzazione elenco nella visualizzazione riquadro.
CListCtrl::SetToolTips Imposta il controllo descrizione comando che verrà utilizzato dal controllo visualizzazione elenco per visualizzare le descrizioni comando.
CListCtrl::SetView Imposta la visualizzazione del controllo visualizzazione elenco.
CListCtrl::SetWorkAreas Imposta l'area in cui è possibile visualizzare le icone in un controllo visualizzazione elenco.
CListCtrl::SortGroups Ordina i gruppi di un controllo visualizzazione elenco con una funzione definita dall'utente.
CListCtrl::SortItems Ordina gli elementi della visualizzazione elenco usando una funzione di confronto definita dall'applicazione.
CListCtrl::SortItemsEx Ordina gli elementi della visualizzazione elenco usando una funzione di confronto definita dall'applicazione.
CListCtrl::SubItemHitTest Determina quale elemento della visualizzazione elenco, se disponibile, si trova in una determinata posizione.
CListCtrl::Update Forza il controllo a ridipingere un elemento specificato.

Osservazioni:

Oltre a un'icona e a un'etichetta, ogni elemento può avere informazioni visualizzate nelle colonne a destra dell'icona e dell'etichetta. Questo controllo (e quindi la CListCtrl classe ) è disponibile solo per i programmi in esecuzione in Windows 95/98 e Windows NT versione 3.51 e successive.

Di seguito è riportata una breve panoramica della CListCtrl classe . Per una discussione concettuale dettagliata, vedere Uso CListCtrl e controlli.

Visualizzazioni

I controlli visualizzazione elenco possono visualizzare il contenuto in quattro modi diversi, denominati "visualizzazioni".

  • Visualizzazione icona

    Ogni elemento viene visualizzato come icona a dimensione intera (32 x 32 pixel) con un'etichetta sotto di essa. L'utente può trascinare gli elementi in qualsiasi posizione nella finestra della visualizzazione elenco.

  • Visualizzazione icona piccola

    Ogni elemento viene visualizzato come icona piccola (16 x 16 pixel) con l'etichetta a destra di esso. L'utente può trascinare gli elementi in qualsiasi posizione nella finestra della visualizzazione elenco.

  • Visualizzazione elenco

    Ogni elemento viene visualizzato come icona piccola con un'etichetta a destra di esso. Gli elementi sono disposti in colonne e non possono essere trascinati in nessuna posizione nella finestra della visualizzazione elenco.

  • Visualizzazione report

    Ogni elemento viene visualizzato sulla propria riga, con informazioni aggiuntive disposte in colonne a destra. La colonna all'estrema sinistra contiene l'icona e l'etichetta di piccole dimensioni e le colonne successive contengono elementi secondari come specificato dall'applicazione. Un controllo intestazione incorporato (classe CHeaderCtrl) implementa queste colonne. Per altre informazioni sul controllo intestazione e sulle colonne in una visualizzazione report, vedere Uso di : Aggiunta di colonne al controllo (visualizzazione report).For more information on the header control and columns in a report view, see Using CListCtrl: Adding Columns to the Control (Report View).

Lo stile della visualizzazione elenco corrente del controllo determina la visualizzazione corrente. Per altre informazioni su questi stili e il relativo utilizzo, vedere Uso CListCtrldi : Modifica degli stili di controllo elenco.

Stili estesi

Oltre agli stili di elenco standard, la classe CListCtrl supporta un ampio set di stili estesi, offrendo funzionalità arricchite. Alcuni esempi di questa funzionalità includono:

  • Selezione al passaggio del mouse

    Se abilitata, consente la selezione automatica di un elemento quando il cursore rimane sull'elemento per un determinato periodo di tempo.

  • Visualizzazioni elenco virtuale

    Se abilitata, consente al controllo di supportare fino a elementi DWORD. Ciò è possibile posizionando il sovraccarico della gestione dei dati degli elementi nell'applicazione. Ad eccezione delle informazioni relative alla selezione e allo stato attivo degli elementi, tutte le informazioni sugli elementi devono essere gestite dall'applicazione. Per altre informazioni, vedere Uso di CListCtrl: Controlli elenco virtuale.

  • Attivazione uno e due clic

    Se abilitata, consente il rilevamento rapido (evidenziazione automatica del testo dell'elemento) e l'attivazione di uno o due clic dell'elemento evidenziato.

  • Trascinamento dell'ordinamento delle colonne

    Se abilitata, consente di riordinare le colonne in un controllo visualizzazione elenco. Disponibile solo nella visualizzazione report.

Per informazioni sull'uso di questi nuovi stili estesi, vedere Uso CListCtrldi : Modifica degli stili di controllo elenco.

Elementi e elementi secondari

Ogni elemento in un controllo visualizzazione elenco è costituito da un'icona (da un elenco di immagini), da un'etichetta, da uno stato corrente e da un valore definito dall'applicazione (denominata "dati elemento"). È anche possibile associare uno o più elementi secondari a ogni elemento. Un "elemento secondario" è una stringa che, nella visualizzazione report, può essere visualizzata in una colonna a destra dell'icona e dell'etichetta di un elemento. Tutti gli elementi di un controllo visualizzazione elenco devono avere lo stesso numero di elementi secondari.

La classe CListCtrl fornisce diverse funzioni per l'inserimento, l'eliminazione, la ricerca e la modifica di questi elementi. Per altre informazioni, vedere CListCtrl::GetItem, CListCtrl::InsertIteme CListCtrl::FindItem, Aggiunta di elementi al controllo e scorrimento, disposizione, ordinamento e ricerca nei controlli elenco.

Per impostazione predefinita, il controllo visualizzazione elenco è responsabile dell'archiviazione dell'icona e degli attributi di testo di un elemento. Tuttavia, oltre a questi tipi di elemento, la classe CListCtrl supporta "elementi di callback". Un "elemento di callback" è un elemento della visualizzazione elenco per il quale l'applicazione, anziché il controllo, archivia il testo, l'icona o entrambi. Una maschera di callback viene usata per specificare gli attributi dell'elemento (testo e/o icona) forniti dall'applicazione. Se un'applicazione usa elementi di callback, deve essere in grado di fornire gli attributi di testo e/o icona su richiesta. Gli elementi di callback sono utili quando l'applicazione gestisce già alcune di queste informazioni. Per altre informazioni, vedere Uso di CListCtrl: elementi di callback e maschera di callback.

Elenchi di immagini

Le icone, le immagini degli elementi di intestazione e gli stati definiti dall'applicazione per gli elementi della visualizzazione elenco sono contenuti in diversi elenchi di immagini (implementati dalla classe CImageList), che vengono creati e assegnati al controllo visualizzazione elenco. Ogni controllo visualizzazione elenco può avere fino a quattro diversi tipi di elenchi di immagini:

  • Icona grande

    Utilizzato nella visualizzazione icone per le icone di dimensioni intere.

  • Icona piccola

    Usato nelle visualizzazioni icona, elenco e report per le versioni più piccole delle icone usate nella visualizzazione icona.

  • Stato definito dall'applicazione

    Contiene immagini di stato, visualizzate accanto all'icona di un elemento per indicare uno stato definito dall'applicazione.

  • Voce di intestazione

    Utilizzato nella visualizzazione report per immagini di piccole dimensioni visualizzate in ogni elemento del controllo intestazione.

Per impostazione predefinita, un controllo visualizzazione elenco elimina definitivamente gli elenchi di immagini assegnati quando viene distrutto; Tuttavia, lo sviluppatore può personalizzare questo comportamento eliminando ogni elenco di immagini quando non viene più usato, come determinato dall'applicazione. Per altre informazioni, vedere Uso di CListCtrl: Elementi elenco ed elenchi di immagini.

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CListCtrl

Requisiti

Intestazione: afxcmn.h

CListCtrl::ApproximateViewRect

Determina la larghezza e l'altezza necessarie per visualizzare gli elementi di un controllo visualizzazione elenco.

CSize ApproximateViewRect(
    CSize sz = CSize(-1, -1),
    int iCount = -1) const;

Parametri

sz
Dimensioni proposte del controllo, in pixel. Se le dimensioni non vengono specificate, il framework usa i valori di larghezza o altezza correnti del controllo.

iCount
Numero di elementi da visualizzare nel controllo . Passare -1 per usare il numero totale di elementi attualmente presenti nel controllo.

Valore restituito

Oggetto CSize contenente la larghezza e l'altezza approssimative necessarie per visualizzare gli elementi, in pixel.

Osservazioni:

Questa funzione membro implementa il comportamento della macro Win32, ListView_ApproximateViewRect, come descritto in Windows SDK.

CListCtrl::Arrange

Riposiziona gli elementi in una visualizzazione icona in modo che siano allineati su una griglia.

BOOL Arrange(UINT nCode);

Parametri

nCode
Specifica lo stile di allineamento per gli elementi. Può essere uno dei valori seguenti:

  • LVA_ALIGNLEFT Allinea gli elementi lungo il bordo sinistro della finestra.
  • LVA_ALIGNTOP Allinea gli elementi lungo il bordo superiore della finestra.
  • LVA_DEFAULT Allinea gli elementi in base agli stili di allineamento correnti della visualizzazione elenco (valore predefinito).
  • LVA_SNAPTOGRID Blocca tutte le icone alla posizione della griglia più vicina.

Valore restituito

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

Osservazioni:

Il nCode parametro specifica lo stile di allineamento.

Esempio

// Align all of the list view control items along the top
// of the window (the list view control must be in icon or
// small icon mode).
m_myListCtrl.Arrange(LVA_ALIGNTOP);

CListCtrl::CancelEditLabel

Annulla l'operazione di modifica del testo dell'elemento.

void CancelEditLabel();

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_CANCELEDITLABEL messaggio, come descritto in Windows SDK.

CListCtrl::CListCtrl

Costruisce un oggetto CListCtrl.

CListCtrl();

CListCtrl::Create

Crea un controllo elenco e lo associa a un CListCtrl oggetto .

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

Parametri

dwStyle
Specifica lo stile del controllo elenco. Applicare qualsiasi combinazione di stili di controllo elenco al controllo . Per un elenco completo di questi stili, vedi Stili finestra visualizzazione elenco in Windows SDK. Impostare stili estesi specifici di un controllo usando SetExtendedStyle.

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

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

nID
Specifica l'ID del controllo elenco.

Valore restituito

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

Osservazioni:

Si costruisce un oggetto CListCtrl in due passaggi. Prima di tutto, chiamare il costruttore e quindi chiamare Create, che crea il controllo visualizzazione elenco e lo collega all'oggetto CListCtrl .

Per applicare gli stili di Windows estesi all'oggetto controllo elenco, chiamare CreateEx invece di Create.

Esempio

m_myListCtrl.Create(
    WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT|LVS_EDITLABELS,
    CRect(10,10,400,200), pParentWnd, IDD_MYLISTCTRL);

CListCtrl::CreateEx

Crea un controllo (una finestra figlio) e lo associa all'oggetto CListCtrl .

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 parametro dwExStyle per CreateWindowEx in Windows SDK.

dwStyle
Specifica lo stile del controllo elenco. Applicare qualsiasi combinazione di stili di controllo elenco al controllo . Per un elenco completo di questi stili, vedi Stili finestra visualizzazione elenco 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; in caso contrario 0.

Osservazioni:

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

CreateEx crea il controllo con gli stili di Windows estesi specificati da dwExStyle. Per impostare stili estesi specifici di un controllo, chiamare SetExtendedStyle. Ad esempio, usare CreateEx per impostare stili come WS_EX_CONTEXTHELP, ma usare SetExtendedStyle per impostare tali stili, ad esempio LVS_EX_FULLROWSELECT. Per altre informazioni, vedere gli stili descritti nell'articolo Stili visualizzazione elenco estesi in Windows SDK.

CListCtrl::CreateDragImage

Crea un elenco di immagini di trascinamento per l'elemento specificato da nItem.

CImageList* CreateDragImage(
    int nItem,
    LPPOINT lpPoint);

Parametri

*nItem*
Indice dell'elemento di cui creare l'elenco di immagini di trascinamento.

lpPoint
Indirizzo di una POINT struttura che riceve la posizione iniziale dell'angolo superiore sinistro dell'immagine, nelle coordinate di visualizzazione.

Valore restituito

Puntatore all'elenco di immagini di trascinamento se riuscito; in caso contrario NULL, .

Osservazioni:

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

CImageList* pImageList = m_myListCtrl.CreateDragImage(nItem, &point);

// do something

delete pImageList;

CListCtrl::DeleteAllItems

Elimina tutti gli elementi dal controllo visualizzazione elenco.

BOOL DeleteAllItems();

Valore restituito

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

Esempio

// Delete all of the items from the list view control.
m_myListCtrl.DeleteAllItems();
ASSERT(m_myListCtrl.GetItemCount() == 0);

CListCtrl::DeleteColumn

Elimina una colonna dal controllo visualizzazione elenco.

BOOL DeleteColumn(int nCol);

Parametri

nCol
Indice della colonna da eliminare.

Valore restituito

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

Esempio

int nColumnCount = m_myListCtrl.GetHeaderCtrl()->GetItemCount();

// Delete all of the columns.
for (int i=0; i < nColumnCount; i++)
{
    m_myListCtrl.DeleteColumn(0);
}

CListCtrl::DeleteItem

Elimina un elemento da un controllo visualizzazione elenco.

BOOL DeleteItem(int nItem);

Parametri

nItem
Specifica l'indice dell'elemento da eliminare.

Valore restituito

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

Esempio

int nCount = m_myListCtrl.GetItemCount();

// Delete all of the items from the list view control.
for (int i=0; i < nCount; i++)
{
    m_myListCtrl.DeleteItem(0);
}

CListCtrl::DrawItem

Chiamato dal framework quando cambia un aspetto visivo di un controllo visualizzazione elenco di disegno proprietario.

virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);

Parametri

lpDrawItemStruct
Puntatore lungo a una DRAWITEMSTRUCT struttura che contiene informazioni sul tipo di disegno richiesto.

Osservazioni:

Il itemAction membro della DRAWITEMSTRUCT struttura definisce l'azione di disegno da eseguire.

Per impostazione predefinita, questa funzione membro non esegue alcuna operazione. Eseguire l'override di questa funzione membro per implementare il disegno per un oggetto di disegno CListCtrl proprietario.

L'applicazione deve ripristinare tutti gli oggetti GDI (Graphics Device Interface) selezionati per il contesto di visualizzazione fornito in lpDrawItemStruct prima che questa funzione membro termini.

CListCtrl::EditLabel

Inizia la modifica sul posto del testo di un elemento.

CEdit* EditLabel(int nItem);

Parametri

nItem
Indice dell'elemento della visualizzazione elenco 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:

Un controllo visualizzazione elenco con lo stile della LVS_EDITLABELS finestra consente a un utente di modificare le etichette degli elementi sul posto. L'utente inizia a modificare facendo clic sull'etichetta di un elemento con lo stato attivo.

Usare questa funzione per iniziare la modifica sul posto del testo dell'elemento della visualizzazione elenco specificato.

Esempio

// Make sure the focus is set to the list view control.
m_myListCtrl.SetFocus();

// Show the edit control on the label of the first
// item in the list view control.
CEdit* pmyEdit = m_myListCtrl.EditLabel(1);
ASSERT(pmyEdit != NULL);

CListCtrl::EnableGroupView

Abilita o disabilita se gli elementi di un controllo visualizzazione elenco vengono visualizzati come gruppo.

LRESULT EnableGroupView(BOOL fEnable);

Parametri

fEnable
Indica se abilitare un controllo listview per raggruppare gli elementi visualizzati. TRUE per abilitare il raggruppamento; FALSE per disabilitarla.

Valore restituito

Restituisce uno dei valori seguenti:

  • 0 La possibilità di visualizzare gli elementi della visualizzazione elenco come gruppo è già abilitata o disabilitata.
  • 1 Lo stato del controllo è stato modificato correttamente.
  • -1 L'operazione non è riuscita.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_ENABLEGROUPVIEW messaggio, come descritto in Windows SDK.

CListCtrl::EnsureVisible

Assicura che un elemento della visualizzazione elenco sia almeno parzialmente visibile.

BOOL EnsureVisible(
    int nItem,
    BOOL bPartialOK);

Parametri

nItem
Indice dell'elemento della visualizzazione elenco che deve essere visibile.

bPartialOK
Specifica se la visibilità parziale è accettabile.

Valore restituito

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

Osservazioni:

Se necessario, il controllo visualizzazione elenco viene scorrevole. Se il parametro bPartialOK è diverso da zero, non si verifica alcun scorrimento se l'elemento è parzialmente visibile.

Esempio

// Ensure that the last item is visible.
int nCount = m_myListCtrl.GetItemCount();
if (nCount > 0)
    m_myListCtrl.EnsureVisible(nCount-1, FALSE);

CListCtrl::FindItem

Cerca un elemento della visualizzazione elenco con caratteristiche specificate.

int FindItem(
    LVFINDINFO* pFindInfo,
    int nStart = -1) const;

Parametri

pFindInfo
Puntatore a una LVFINDINFO struttura contenente informazioni sull'elemento da cercare.

nStart
Indice dell'elemento con cui iniziare la ricerca oppure -1 da iniziare dall'inizio. L'elemento in nStart è escluso dalla ricerca se nStart non è uguale a -1.

Valore restituito

Indice dell'elemento se ha esito positivo o -1 in caso contrario.

Osservazioni:

Il pFindInfo parametro punta a una LVFINDINFO struttura che contiene informazioni utilizzate per cercare un elemento della visualizzazione elenco.

Esempio

LVFINDINFO info;
int nIndex;

info.flags = LVFI_PARTIAL|LVFI_STRING;
info.psz = _T("item");

// Delete all of the items that begin with the string.
while ((nIndex = m_myListCtrl.FindItem(&info)) != -1)
{
    m_myListCtrl.DeleteItem(nIndex);
}

CListCtrl::GetBkColor

Recupera il colore di sfondo di un controllo visualizzazione elenco.

COLORREF GetBkColor() const;

Valore restituito

Valore a 32 bit usato per specificare un colore RGB.

Esempio

Vedere l'esempio per CListCtrl::SetBkColor.

CListCtrl::GetBkImage

Recupera l'immagine di sfondo corrente di un controllo visualizzazione elenco.

BOOL GetBkImage(LVBKIMAGE* plvbkImage) const;

Parametri

plvbkImage
Puntatore a una LVBKIMAGE struttura contenente l'immagine di sfondo corrente della visualizzazione elenco.

Valore restituito

Restituisce un valore diverso da zero se ha esito positivo o zero in caso contrario.

Osservazioni:

Questo metodo implementa il comportamento della macro Win32, ListView_GetBkImage, come descritto in Windows SDK.

Esempio

LVBKIMAGE bki;

// If no background image is set for the list view control use
// the Microsoft homepage image as the background image.
if (m_myListCtrl.GetBkImage(&bki) && (bki.ulFlags == LVBKIF_SOURCE_NONE))
{
    m_myListCtrl.SetBkImage(
        _T("https://www.microsoft.com/library/images/gifs/homepage/microsoft.gif"),
        TRUE);
}

CListCtrl::GetCallbackMask

Recupera la maschera di callback per un controllo visualizzazione elenco.

UINT GetCallbackMask() const;

Valore restituito

Maschera di callback del controllo visualizzazione elenco.

Osservazioni:

Un "elemento di callback" è un elemento della visualizzazione elenco per il quale l'applicazione, anziché il controllo, archivia il testo, l'icona o entrambi. Anche se un controllo visualizzazione elenco può archiviare questi attributi per l'utente, è possibile usare gli elementi di callback se l'applicazione mantiene già alcune di queste informazioni. La maschera di callback specifica i bit di stato dell'elemento gestiti dall'applicazione e si applica all'intero controllo anziché a un elemento specifico. La maschera di callback è zero per impostazione predefinita, ovvero il controllo tiene traccia di tutti gli stati dell'elemento. Se un'applicazione usa elementi di callback o specifica una maschera di callback diverso da zero, deve essere in grado di fornire attributi degli elementi della visualizzazione elenco su richiesta.

Esempio

Vedere l'esempio per CListCtrl::SetCallbackMask.

CListCtrl::GetCheck

Recupera lo stato di visualizzazione corrente dell'immagine di stato associata a un elemento.

BOOL GetCheck(int nItem) const;

Parametri

nItem
Indice in base zero di un elemento del controllo elenco.

Valore restituito

Diverso da zero se l'elemento è selezionato, in caso contrario 0.

Osservazioni:

Questa funzione membro implementa il comportamento della macro Win32, ListView_GetCheckState, come descritto in Windows SDK.

Esempio

Vedere l'esempio per CListCtrl::SetCheck.

CListCtrl::GetColumn

Recupera gli attributi della colonna di un controllo visualizzazione elenco.

BOOL GetColumn(
    int nCol,
    LVCOLUMN* pColumn) const;

Parametri

nCol
Indice della colonna i cui attributi devono essere recuperati.

pColumn
Indirizzo di una LVCOLUMN struttura che specifica le informazioni da recuperare e ricevere informazioni sulla colonna. Il mask membro specifica gli attributi di colonna da recuperare. Se il mask membro specifica il valore LVCF_TEXT, il pszText membro deve contenere l'indirizzo del buffer che riceve il testo dell'elemento e il cchTextMax membro deve specificare le dimensioni del buffer.

Valore restituito

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

Osservazioni:

La LVCOLUMN struttura contiene informazioni su una colonna nella visualizzazione report.

Esempio

LVCOLUMN col;

col.mask = LVCF_WIDTH;

// Double the column width of the first column.
if (m_myListCtrl.GetColumn(0, &col))
{
    col.cx *= 2;
    m_myListCtrl.SetColumn(0, &col);
}

CListCtrl::GetColumnOrderArray

Recupera l'ordine delle colonne (da sinistra a destra) di un controllo visualizzazione elenco.

BOOL GetColumnOrderArray(
    LPINT piArray,
    int iCount = -1);

Parametri

piArray
Puntatore a un buffer che conterrà i valori di indice delle colonne nel controllo visualizzazione elenco. Il buffer deve essere sufficientemente grande da contenere il numero totale di colonne nel controllo visualizzazione elenco.

iCount
Numero di colonne nel controllo visualizzazione elenco. Se questo parametro è -1, il numero di colonne viene recuperato automaticamente dal framework.

Valore restituito

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

Osservazioni:

Questa funzione membro implementa il comportamento della macro Win32, ListView_GetColumnOrderArray, come descritto in Windows SDK.

Esempio

// Reverse the order of the columns in the list view control
// (i.e. make the first column the last, the last column
// the first, and so on...).
CHeaderCtrl* pHeaderCtrl = m_myListCtrl.GetHeaderCtrl();

if (pHeaderCtrl != NULL)
{
    int  nColumnCount = pHeaderCtrl->GetItemCount();
    LPINT pnOrder = (LPINT) malloc(nColumnCount*sizeof(int));
    ASSERT(pnOrder != NULL);
    m_myListCtrl.GetColumnOrderArray(pnOrder, nColumnCount);

    int i, j, nTemp;
    for (i = 0, j = nColumnCount-1; i < j; i++, j--)
    {
        nTemp = pnOrder[i];
        pnOrder[i] = pnOrder[j];
        pnOrder[j] = nTemp;
    }

    m_myListCtrl.SetColumnOrderArray(nColumnCount, pnOrder);
    free(pnOrder);
}

CListCtrl::GetColumnWidth

Recupera la larghezza di una colonna nella visualizzazione report o nella visualizzazione elenco.

int GetColumnWidth(int nCol) const;

Parametri

nCol
Specifica l'indice della colonna la cui larghezza deve essere recuperata.

Valore restituito

Larghezza, in pixel, della colonna specificata da nCol.

Esempio

// Increase the column width of the second column by 20.
int nWidth = m_myListCtrl.GetColumnWidth(1);
m_myListCtrl.SetColumnWidth(1, 20 + nWidth);

CListCtrl::GetCountPerPage

Calcola il numero di elementi che possono essere inseriti verticalmente nell'area visibile di un controllo visualizzazione elenco quando si trova nella visualizzazione elenco o nella visualizzazione report.

int GetCountPerPage() const;

Valore restituito

Numero di elementi che possono essere inseriti verticalmente nell'area visibile di un controllo visualizzazione elenco quando si trova nella visualizzazione elenco o nella visualizzazione report.

Esempio

Vedere l'esempio per CListCtrl::GetTopIndex.

CListCtrl::GetEditControl

Recupera l'handle del controllo di modifica utilizzato per modificare il testo di un elemento della visualizzazione elenco.

CEdit* GetEditControl() const;

Valore restituito

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

Esempio

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

// If possible, replace the text in the label edit control.
CEdit* pEdit = m_myListCtrl.GetEditControl();

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

CListCtrl::GetEmptyText

Recupera la stringa da visualizzare se il controllo visualizzazione elenco corrente è vuoto.

CString GetEmptyText() const;

Valore restituito

Oggetto CString contenente il testo da visualizzare se il controllo è vuoto.

Osservazioni:

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

CListCtrl::GetExtendedStyle

Recupera gli stili estesi correnti di un controllo visualizzazione elenco.

DWORD GetExtendedStyle();

Valore restituito

Combinazione degli stili estesi attualmente in uso dal controllo visualizzazione elenco. Per un elenco descrittivo di questi stili estesi, vedere l'articolo Stili visualizzazione elenco estesi in Windows SDK.

Osservazioni:

Questa funzione membro implementa il comportamento della macro Win32, ListView_GetExtendedListViewStyle, come descritto in Windows SDK.

Esempio

Vedere l'esempio per CListCtrl::SetExtendedStyle.

CListCtrl::GetFirstSelectedItemPosition

Ottiene la posizione del primo elemento selezionato nel controllo visualizzazione elenco.

POSITION GetFirstSelectedItemPosition() const;

Valore restituito

Valore POSITION che può essere utilizzato per il recupero dell'iterazione o del puntatore a oggetti; NULL se non sono selezionati elementi.

Esempio

Nell'esempio di codice seguente viene illustrato l'utilizzo di questa funzione.

POSITION pos = m_myListCtrl.GetFirstSelectedItemPosition();
if (pos == NULL)
{
    TRACE(_T("No items were selected!\n"));
}
else
{
    while (pos)
    {
        int nItem = m_myListCtrl.GetNextSelectedItem(pos);
        TRACE(_T("Item %d was selected!\n"), nItem);
        // you could do your own processing on nItem here
    }
}

CListCtrl::GetFocusedGroup

Recupera il gruppo con lo stato attivo della tastiera nel controllo di visualizzazione elenco corrente.

int GetFocusedGroup() const;

Valore restituito

Indice del gruppo il cui stato è LVGS_FOCUSED, se è presente un gruppo di questo tipo; in caso contrario, -1.

Osservazioni:

Questo metodo invia il LVM_GETFOCUSEDGROUP messaggio, descritto in Windows SDK. Per altre informazioni, vedere il LVGS_FOCUSED valore del state membro della LVGROUP struttura.

CListCtrl::GetGroupCount

Recupera il numero di gruppi nel controllo visualizzazione elenco corrente.

int GetGroupCount()const;

Valore restituito

Numero di gruppi nel controllo visualizzazione elenco.

Osservazioni:

Questo metodo invia il LVM_GETGROUPCOUNT messaggio, descritto in Windows SDK -->.

CListCtrl::GetGroupInfo

Ottiene le informazioni per un gruppo specificato del controllo visualizzazione elenco.

int GetGroupInfo(
    int iGroupId,
    PLVGROUP pgrp) const;

Parametri

iGroupId
Identificatore del gruppo le cui informazioni devono essere recuperate.

pgrp
Puntatore all'oggetto LVGROUP contenente le informazioni sul gruppo specificato.

Valore restituito

Restituisce l'ID del gruppo se ha esito positivo o -1 in caso contrario.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_GETGROUPINFO messaggio, come descritto in Windows SDK.

CListCtrl::GetGroupInfoByIndex

Recupera informazioni su un gruppo specificato nel controllo visualizzazione elenco corrente.

BOOL GetGroupInfoByIndex(
    int iIndex,
    PLVGROUP pGroup) const;

Parametri

iIndex
[in] Indice in base zero di un gruppo.

pGroup
[out] Puntatore a una struttura LVGROUP che riceve informazioni sul gruppo specificato dal parametro iIndex . Il chiamante è responsabile dell'inizializzazione dei membri della struttura LVGROUP . Impostare il cbSize membro sulle dimensioni della struttura e sui flag del mask membro per specificare le informazioni da recuperare.

Valore restituito

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

Osservazioni:

Questo metodo invia il LVM_GETGROUPINFOBYINDEX messaggio, descritto in Windows SDK -->.

Esempio

Il primo esempio di codice definisce una variabile, m_listCtrl, usata per accedere al controllo di visualizzazione elenco corrente. Questa variabile viene usata nell'esempio riportato di seguito.

public:
    // Variable used to access the list control.
    CListCtrl m_listCtrl;

Nell'esempio di codice successivo viene illustrato il GetGroupInfoByIndex metodo . In una sezione precedente di questo esempio di codice è stato creato un controllo visualizzazione elenco che visualizza due colonne denominate "ClientID" e "Grade" in una visualizzazione report. Nell'esempio di codice seguente vengono recuperate informazioni sul gruppo il cui indice è 0, se tale gruppo esiste.

// GetGroupInfoByIndex
const int GROUP_HEADER_BUFFER_SIZE = 40;

// Initialize the structure
LVGROUP gInfo = {0};
gInfo.cbSize = sizeof(LVGROUP);
wchar_t wstrHeadGet[GROUP_HEADER_BUFFER_SIZE] = {0};
gInfo.cchHeader = GROUP_HEADER_BUFFER_SIZE;
gInfo.pszHeader = wstrHeadGet;
gInfo.mask = (LVGF_ALIGN | LVGF_STATE | LVGF_HEADER | LVGF_GROUPID);
gInfo.state = LVGS_NORMAL;
gInfo.uAlign  = LVGA_HEADER_LEFT;

BOOL bRet = m_listCtrl.GetGroupInfoByIndex( 0, &gInfo );
if (bRet == TRUE) {
    CString strHeader = CString( gInfo.pszHeader );
    CString str;
    str.Format(_T("Header: '%s'"), strHeader);
    AfxMessageBox(str, MB_ICONINFORMATION);
}
else
{
    AfxMessageBox(_T("No group information was retrieved."));
}

CListCtrl::GetGroupMetrics

Recupera le metriche di un gruppo.

void GetGroupMetrics(PLVGROUPMETRICS pGroupMetrics) const;

Parametri

pGroupMetrics
Puntatore a un oggetto LVGROUPMETRICS contenente le informazioni sulle metriche del gruppo.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_GETGROUPMETRICS messaggio, come descritto in Windows SDK.

CListCtrl::GetGroupRect

Recupera il rettangolo di delimitazione per un gruppo specificato nel controllo visualizzazione elenco corrente.

BOOL GetGroupRect(
    int iGroupId,
    LPRECT lpRect,
    int iCoords = LVGGR_GROUP) const;

Parametri

iGroupId
[in] Specifica un gruppo.

lpRect
[in, out] Puntatore a una RECT struttura. Se questo metodo ha esito positivo, la struttura riceve le coordinate del rettangolo del gruppo specificato da iGroupId.

iCoords
[in] Specifica le coordinate del rettangolo da recuperare. Usare uno di questi valori:

  • LVGGR_GROUP - (Impostazione predefinita) Coordinate dell'intero gruppo espanso.
  • LVGGR_HEADER - Coordinate solo dell'intestazione (gruppo compresso).
  • LVGGR_SUBSETLINK - Coordinate solo del collegamento del subset (subset di markup).

Valore restituito

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

Osservazioni:

Il chiamante è responsabile dell'allocazione della RECT struttura a cui punta il pRect parametro .

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

Esempio

Il primo esempio di codice definisce una variabile, m_listCtrl, usata per accedere al controllo di visualizzazione elenco corrente. Questa variabile viene usata nell'esempio riportato di seguito.

public:
    // Variable used to access the list control.
    CListCtrl m_listCtrl;

Nell'esempio di codice successivo viene illustrato il GetGroupRect metodo . In una sezione precedente di questo esempio di codice è stato creato un controllo visualizzazione elenco che visualizza due colonne denominate "ClientID" e "Grade" in una visualizzazione report. Nell'esempio di codice seguente viene disegnato un rettangolo 3D intorno al gruppo il cui indice è 0, se tale gruppo esiste.

// GetGroupRect

// Get the graphics rectangle that surrounds group 0.
CRect rect;
BOOL bRet = m_listCtrl.GetGroupRect( 0, &rect, LVGGR_GROUP);
// Draw a blue rectangle around group 0.
if (bRet == TRUE) {
    m_listCtrl.GetDC()->Draw3dRect( &rect, RGB(0, 0, 255), RGB(0, 0, 255));
}
else {
    AfxMessageBox(_T("No group information was retrieved."), MB_ICONINFORMATION);
}

CListCtrl::GetGroupState

Recupera lo stato per un gruppo specificato nel controllo di visualizzazione elenco corrente.

UINT GetGroupState(
    int iGroupId,
    DWORD dwMask) const;

Parametri

iGroupId
[in] Indice in base zero di un gruppo.

dwMask
[in] Maschera che specifica il valore dello stato da recuperare per il gruppo specificato. Per altre informazioni, vedere il mask membro della LVGROUP struttura.

Valore restituito

Stato richiesto per il gruppo specificato o 0 se non è possibile trovare il gruppo.

Osservazioni:

Il valore restituito è il risultato di un'operazione AND bit per bit sul dwMask parametro e il state valore del membro di una LVGROUP struttura che rappresenta il controllo di visualizzazione elenco corrente.

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

CListCtrl::GetHeaderCtrl

Recupera il controllo intestazione di un controllo visualizzazione elenco.

CHeaderCtrl* GetHeaderCtrl();

Valore restituito

Puntatore al controllo intestazione, utilizzato dal controllo visualizzazione elenco.

Osservazioni:

Questa funzione membro implementa il comportamento della macro Win32, ListView_GetHeader, come descritto in Windows SDK.

Esempio

Vedere l'esempio per CListCtrl::GetColumnOrderArray.

CListCtrl::GetHotCursor

Recupera il cursore utilizzato quando il rilevamento rapido è abilitato per un controllo visualizzazione elenco.

HCURSOR GetHotCursor();

Valore restituito

Handle per la risorsa cursore ad accesso frequente corrente utilizzata dal controllo visualizzazione elenco.

Osservazioni:

Questa funzione membro implementa il comportamento della macro Win32, ListView_GetHotCursor, come descritto in Windows SDK. Il cursore attivo, visibile solo quando la selezione del passaggio del mouse è abilitata, viene visualizzata quando il cursore passa su qualsiasi elemento della visualizzazione elenco. La selezione al passaggio del mouse è abilitata impostando lo stile esteso LVS_EX_TRACKSELECT.

Esempio

// Set the hot cursor to be the system app starting cursor.
HCURSOR hCursor = ::LoadCursor(NULL, IDC_APPSTARTING);
m_myListCtrl.SetHotCursor(hCursor);
ASSERT(m_myListCtrl.GetHotCursor() == hCursor);

CListCtrl::GetHotItem

Recupera l'elemento della visualizzazione elenco attualmente sotto il cursore.

int GetHotItem();

Valore restituito

Indice dell'elemento attivo corrente del controllo visualizzazione elenco.

Osservazioni:

Questa funzione membro implementa il comportamento della macro Win32, ListView_GetHotItem, come descritto in Windows SDK. L'elemento attivo viene definito come l'elemento attualmente selezionato quando il rilevamento rapido (e la selezione del passaggio del mouse) è abilitato.

Se il rilevamento rapido è abilitato, quando un utente si sospende su un elemento della visualizzazione elenco, l'etichetta dell'elemento viene evidenziata automaticamente senza l'uso di un pulsante del mouse.

Esempio

// Set the hot item to the first item only if no other item is
// highlighted.
if (m_myListCtrl.GetHotItem() == -1)
    m_myListCtrl.SetHotItem(0);

CListCtrl::GetHoverTime

Recupera l'ora corrente del passaggio del mouse di un controllo visualizzazione elenco.

DWORD GetHoverTime() const;

Valore restituito

Restituisce il ritardo, espresso in millisecondi, sul quale il cursore del mouse deve passare il puntatore del mouse su un elemento prima che venga selezionato. Se il valore restituito è -1, l'ora del passaggio del mouse è l'ora del mouse predefinita.

Osservazioni:

Questa funzione membro implementa il comportamento della macro Win32, ListView_GetHoverTime, come descritto in Windows SDK.

Esempio

// If the hover time is the default set to 1 sec.
DWORD dwTime = m_myListCtrl.GetHoverTime();
if (dwTime == -1)
    m_myListCtrl.SetHoverTime(1000);

CListCtrl::GetImageList

Recupera l'handle di un elenco di immagini utilizzato per gli elementi della visualizzazione elenco di disegno.

CImageList* GetImageList(int nImageList) const;

Parametri

nImageList
Valore che specifica l'elenco di immagini da recuperare. Può essere uno di questi valori:

  • LVSIL_NORMAL Elenco di immagini con icone di grandi dimensioni.
  • LVSIL_SMALL Elenco di immagini con icone piccole.
  • LVSIL_STATE Elenco di immagini con immagini di stato.

Valore restituito

Puntatore all'elenco di immagini utilizzato per gli elementi della visualizzazione elenco di disegno.

Esempio

ASSERT(m_myListCtrl.GetImageList(LVSIL_NORMAL) == NULL);
m_myListCtrl.SetImageList(&m_lcImageList, LVSIL_NORMAL);
ASSERT(m_myListCtrl.GetImageList(LVSIL_NORMAL) == &m_lcImageList);

CListCtrl::GetInsertMark

Recupera la posizione corrente del segno di inserimento.

BOOL GetInsertMark(LPLVINSERTMARK plvim) const;

Parametri

plvim
Puntatore a una LVINSERTMARK struttura contenente le informazioni per il contrassegno di inserimento.

Valore restituito

Restituisce TRUE se ha esito positivo o FALSE in caso contrario. FALSE viene restituito se la dimensione nel cbSize membro della LVINSERTMARK struttura non è uguale alla dimensione effettiva della struttura.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_GETINSERTMARK messaggio, come descritto in Windows SDK.

CListCtrl::GetInsertMarkColor

Recupera il colore corrente del segno di inserimento.

COLORREF GetInsertMarkColor() const;

Valore restituito

Restituisce una COLORREF struttura che contiene il colore del punto di inserimento.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_GETINSERTMARKCOLOR messaggio, come descritto in Windows SDK.

CListCtrl::GetInsertMarkRect

Recupera il rettangolo che delimita il punto di inserimento.

int GetInsertMarkRect(LPRECT pRect) const;

Parametri

pRect
Puntatore a una RECT struttura che contiene le coordinate di un rettangolo che delimita il punto di inserimento.

Valore restituito

Restituisce uno dei valori seguenti:

  • 0 Nessun punto di inserimento trovato.
  • 1 Punto di inserimento trovato.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_GETINSERTMARKRECT messaggio, come descritto in Windows SDK.

CListCtrl::GetItem

Recupera alcuni o tutti gli attributi di un elemento della visualizzazione elenco.

BOOL GetItem(LVITEM* pItem) const;

Parametri

pItem
Puntatore a una LVITEM struttura che riceve gli attributi dell'elemento.

Valore restituito

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

Osservazioni:

La LVITEM struttura specifica o riceve gli attributi di un elemento della visualizzazione elenco.

CListCtrl::GetItemCount

Recupera il numero di elementi in un controllo visualizzazione elenco.

int GetItemCount() const;

Valore restituito

Numero di elementi nel controllo visualizzazione elenco.

Esempio

Vedere l'esempio per CListCtrl::DeleteItem.

CListCtrl::GetItemData

Recupera il valore specifico dell'applicazione a 32 bit (a 64 bit se si esegue la compilazione per x64) associato all'elemento specificato da nItem.

DWORD_PTR GetItemData(int nItem) const;

Parametri

nItem
Indice dell'elemento di elenco i cui dati devono essere recuperati.

Valore restituito

Valore specifico dell'applicazione a 32 bit (a 64 bit se si esegue la compilazione per x64) associato all'elemento specificato.

Osservazioni:

Questo valore è il lParam membro della LVITEM struttura, come descritto in Windows SDK

Esempio

// If any item's data is equal to zero then reset it to -1.
for (int i=0; i < m_myListCtrl.GetItemCount(); i++)
{
    if (m_myListCtrl.GetItemData(i) == 0)
    {
        m_myListCtrl.SetItemData(i, (DWORD) -1);
    }
}

CListCtrl::GetItemIndexRect

Recupera il rettangolo di delimitazione per tutto o parte di un elemento secondario nel controllo visualizzazione elenco corrente.

BOOL GetItemIndexRect(
    PLVITEMINDEX pItemIndex,
    int iColumn,
    int rectType,
    LPRECT pRect) const;

Parametri

pItemIndex
[in] Puntatore a una LVITEMINDEX struttura per l'elemento padre dell'elemento secondario. Il chiamante è responsabile dell'allocazione e dell'impostazione dei membri della LVITEMINDEX struttura. Questo parametro non può essere NULL.

iColumn
[in] Indice in base zero di una colonna nel controllo .

rectType
[in] Parte dell'elemento secondario della visualizzazione elenco per cui viene recuperato il rettangolo di delimitazione. Specificare uno dei valori seguenti:

  • LVIR_BOUNDS - Restituisce il rettangolo di delimitazione dell'intero elemento secondario, inclusa l'icona e l'etichetta.
  • LVIR_ICON - Restituisce il rettangolo di delimitazione dell'icona o dell'icona piccola dell'elemento secondario.
  • LVIR_LABEL - Restituisce il rettangolo di delimitazione del testo dell'elemento secondario.

pRect
[out] Puntatore a una RECT struttura che riceve informazioni sul rettangolo di delimitazione dell'elemento secondario. Il chiamante è responsabile dell'allocazione della RECT struttura. Questo parametro non può essere NULL.

Valore restituito

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

Osservazioni:

Questo metodo invia il LVM_GETITEMINDEXRECT messaggio, descritto in Windows SDK. Per altre informazioni, vedere ListView_GetItemIndexRect Macro.

Esempio

Il primo esempio di codice definisce una variabile, m_listCtrl, usata per accedere al controllo di visualizzazione elenco corrente. Questa variabile viene usata nell'esempio riportato di seguito.

public:
    // Variable used to access the list control.
    CListCtrl m_listCtrl;

Nell'esempio di codice successivo viene illustrato il GetGroupRect metodo . Prima di immettere questo esempio di codice, è stato creato un controllo visualizzazione elenco che visualizza due colonne denominate "ClientID" e "Grade" in una visualizzazione report. Nell'esempio di codice seguente viene disegnato un rettangolo 3D intorno al secondo elemento secondario in entrambe le colonne.

// GetItemIndexRect
// Get the rectangle that bounds the second item in the first group.
LVITEMINDEX lvItemIndex;
lvItemIndex.iGroup = 0;
lvItemIndex.iItem = 1;
CRect rect;
BOOL bRet = m_listCtrl.GetItemIndexRect(
    &lvItemIndex, 0, LVIR_BOUNDS, &rect);

// Draw a red rectangle around the item.
m_listCtrl.GetDC()->Draw3dRect( &rect, RGB(255, 0, 0), RGB(255, 0, 0) );

CListCtrl::GetItemPosition

Recupera la posizione di un elemento della visualizzazione elenco.

BOOL GetItemPosition(
    int nItem,
    LPPOINT lpPoint) const;

Parametri

nItem
Indice dell'elemento la cui posizione deve essere recuperata.

lpPoint
Indirizzo di una POINT struttura che riceve la posizione dell'angolo superiore sinistro dell'elemento, nelle coordinate di visualizzazione.

Valore restituito

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

Esempio

POINT pt;

// Move all items in the list control 100 pixels to the right.
UINT i, nCount = m_myListCtrl.GetItemCount();

for (i=0; i < nCount; i++)
{
    m_myListCtrl.GetItemPosition(i, &pt);
    pt.x += 100;
    m_myListCtrl.SetItemPosition(i, pt);
}

CListCtrl::GetItemRect

Recupera il rettangolo di delimitazione per tutto o parte di un elemento nella visualizzazione corrente.

BOOL GetItemRect(
    int nItem,
    LPRECT lpRect,
    UINT nCode) const;

Parametri

nItem
Indice dell'elemento la cui posizione deve essere recuperata.

lpRect
Indirizzo di una RECT struttura che riceve il rettangolo di delimitazione.

nCode
Parte dell'elemento della visualizzazione elenco per cui recuperare il rettangolo di delimitazione. Può essere uno di questi valori:

  • LVIR_BOUNDS Restituisce il rettangolo di delimitazione dell'intero elemento, inclusa l'icona e l'etichetta.
  • LVIR_ICON Restituisce il rettangolo di delimitazione dell'icona o dell'icona piccola.
  • LVIR_LABEL Restituisce il rettangolo di delimitazione del testo dell'elemento.

Valore restituito

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

Esempio

// OnClick is the handler for the NM_CLICK notification
void CListCtrlDlg::OnClick(NMHDR* pNMHDR, LRESULT* pResult)
{
    UNREFERENCED_PARAMETER(pResult);
    LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pNMHDR;

    // Get the current mouse location and convert it to client
    // coordinates.
    CPoint pos( ::GetMessagePos() );
    ScreenToClient(&pos);

    // Get indexes of the first and last visible items in
    // the listview control.
    int index = m_myListCtrl.GetTopIndex();
    int last_visible_index = index + m_myListCtrl.GetCountPerPage();
    if (last_visible_index > m_myListCtrl.GetItemCount())
        last_visible_index = m_myListCtrl.GetItemCount();

    // Loop until number visible items has been reached.
    while (index <= last_visible_index)
    {
        // Get the bounding rectangle of an item. If the mouse
        // location is within the bounding rectangle of the item,
        // you know you have found the item that was being clicked.
        CRect r;
        m_myListCtrl.GetItemRect(index, &r, LVIR_BOUNDS);
        if (r.PtInRect(pia->ptAction))
        {
            UINT flag = LVIS_SELECTED | LVIS_FOCUSED;
            m_myListCtrl.SetItemState(index, flag, flag);
            break;
        }

        // Get the next item in listview control.
        index++;
    }
}

CListCtrl::GetItemSpacing

Calcola la spaziatura tra gli elementi nel controllo di visualizzazione elenco corrente.

BOOL GetItemSpacing(
    BOOL fSmall,
    int* pnHorzSpacing,
    int* pnVertSpacing) const;

Parametri

fSmall
[in] Consente di visualizzare la spaziatura degli elementi da recuperare. Specificare TRUE per la visualizzazione icona piccola o FALSE per la visualizzazione icona.

pnHorzSpacing
[out] Contiene la spaziatura orizzontale tra gli elementi.

pnVertSpacing
[out] Contiene la spaziatura verticale tra gli elementi.

Valore restituito

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

Osservazioni:

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

CListCtrl::GetItemState

Recupera lo stato di una voce di visualizzazione elenco.

UINT GetItemState(
    int nItem,
    UINT nMask) const;

Parametri

nItem
Indice dell'elemento il cui stato deve essere recuperato.

nMask
Maschera che specifica i flag di stato dell'elemento da restituire.

Valore restituito

Flag di stato per l'elemento di visualizzazione elenco specificato.

Osservazioni:

Lo stato di un elemento viene specificato dal state membro della LVITEM struttura, come descritto in Windows SDK. Quando si specifica o si modifica lo stato di un elemento, il stateMask membro specifica i bit di stato da modificare.

Esempio

Vedere l'esempio per CListCtrl::GetTopIndex.

CListCtrl::GetItemText

Recupera il testo di un elemento della visualizzazione elenco o di un elemento secondario.

int GetItemText(
    int nItem,
    int nSubItem,
    LPTSTR lpszText,
    int nLen) const;

CString GetItemText(
    int nItem,
    int nSubItem) const;

Parametri

nItem
Indice dell'elemento il cui testo deve essere recuperato.

nSubItem
Specifica l'elemento secondario il cui testo deve essere recuperato.

lpszText
Puntatore a una stringa che deve ricevere il testo dell'elemento.

nLen
Lunghezza del buffer a cui lpszTextpunta .

Valore restituito

La restituzione della versione restituisce int la lunghezza della stringa recuperata.

La versione che restituisce un CString oggetto restituisce il testo dell'elemento.

Osservazioni:

Se nSubItem è zero, questa funzione recupera l'etichetta dell'elemento; se nSubItem è diverso da zero, recupera il testo dell'elemento secondario. Per altre informazioni sull'argomento dell'elemento secondario, vedere la discussione sulla LVITEM struttura in Windows SDK.

CListCtrl::GetNextItem

Cerca un elemento della visualizzazione elenco con le proprietà specificate e che contiene la relazione specificata con un determinato elemento.

int GetNextItem(
    int nItem,
    int nFlags) const;

Parametri

nItem
Indice dell'elemento con cui iniziare la ricerca oppure -1 per trovare il primo elemento che corrisponde ai flag specificati. L'elemento specificato viene escluso dalla ricerca.

nFlags
Relazione geometrica dell'elemento richiesto con l'elemento specificato e lo stato dell'elemento richiesto. La relazione geometrica può essere uno di questi valori:

  • LVNI_ABOVE Cerca un elemento sopra l'elemento specificato.
  • LVNI_ALL Cerca un elemento successivo per indice (valore predefinito).
  • LVNI_BELOW Cerca un elemento al di sotto dell'elemento specificato.
  • LVNI_TOLEFT Cerca un elemento a sinistra dell'elemento specificato.
  • LVNI_TORIGHT Cerca un elemento a destra dell'elemento specificato.

Lo stato può essere zero oppure può essere uno o più di questi valori:

  • LVNI_DROPHILITED L'elemento ha il LVIS_DROPHILITED flag di stato impostato.
  • LVNI_FOCUSED L'elemento ha il LVIS_FOCUSED flag di stato impostato.
  • LVNI_SELECTED L'elemento ha il LVIS_SELECTED flag di stato impostato.

Se per un elemento non sono impostati tutti i flag di stato specificati, la ricerca continua con l'elemento successivo.

Valore restituito

Indice dell'elemento successivo se ha esito positivo o -1 in caso contrario.

CListCtrl::GetNextItemIndex

Recupera l'indice dell'elemento nel controllo visualizzazione elenco corrente con un set specificato di proprietà.

BOOL GetNextItemIndex(
    PLVITEMINDEX pItemIndex,
    int nFlags) const;

Parametri

pItemIndex
[in, out] Puntatore alla LVITEMINDEX struttura che descrive l'elemento in cui inizia la ricerca oppure -1 per trovare il primo elemento che corrisponde ai flag nel parametro nFlags . Se questo metodo ha esito positivo, la LVITEMINDEX struttura descrive l'elemento trovato dalla ricerca.

nFlags
[in] Combinazione bit per bit (OR) di flag che specificano come eseguire la ricerca. La ricerca può dipendere dall'indice, dallo stato o dall'aspetto dell'elemento di destinazione o dalla posizione fisica dell'elemento di destinazione rispetto all'elemento specificato dal pItemIndex parametro . Per altre informazioni, vedere il flags parametro nel LVM_GETNEXTITEMINDEX messaggio.

Valore restituito

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

Osservazioni:

Il chiamante è responsabile dell'allocazione e dell'impostazione dei membri della LVITEMINDEX struttura a cui punta il pItemIndex parametro .

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

CListCtrl::GetNextSelectedItem

Ottiene l'indice dell'elemento di elenco identificato da pos, quindi imposta pos sul valore POSITION.

int GetNextSelectedItem(POSITION& pos) const;

Parametri

pos
Riferimento a un valore POSITION restituito da una chiamata precedente a GetNextSelectedItem o GetFirstSelectedItemPosition. Il valore viene aggiornato alla posizione successiva da questa chiamata.

Valore restituito

Indice dell'elemento di elenco identificato da pos.

Osservazioni:

È possibile usare GetNextSelectedItem in un ciclo di iterazione in avanti se si stabilisce la posizione iniziale con una chiamata a GetFirstSelectedItemPosition.

È necessario assicurarsi che il POSITION valore sia valido. Se non è valido, la versione debug della libreria di classi Microsoft Foundation asserisce.

Esempio

Nell'esempio di codice seguente viene illustrato l'utilizzo di questa funzione.

POSITION pos = m_myListCtrl.GetFirstSelectedItemPosition();
if (pos == NULL)
{
    TRACE(_T("No items were selected!\n"));
}
else
{
    while (pos)
    {
        int nItem = m_myListCtrl.GetNextSelectedItem(pos);
        TRACE(_T("Item %d was selected!\n"), nItem);
        // you could do your own processing on nItem here
    }
}

CListCtrl::GetNumberOfWorkAreas

Recupera il numero corrente di aree di lavoro per un controllo visualizzazione elenco.

UINT GetNumberOfWorkAreas() const;

Valore restituito

Non usato in questo momento.

Osservazioni:

Questa funzione membro implementa il comportamento della macro Win32, ListView_GetNumberOfWorkAreas, come descritto in Windows SDK.

Esempio

UINT i, uCount = m_myListCtrl.GetNumberOfWorkAreas();
LPRECT lpRects = (LPRECT) malloc(uCount*sizeof(RECT));

if (lpRects != NULL)
{
    // Dump all of the work area dimensions.
    m_myListCtrl.GetWorkAreas(uCount, lpRects);

    for (i=0; i < uCount; i++)
    {
        TRACE(_T("Work area %d; left = %d, top = %d, right = %d, ")
            _T("bottom = %d\r\n"),
            i, lpRects[i].left, lpRects[i].top, lpRects[i].right,
            lpRects[i].bottom);
    }

    free(lpRects);
}
else
{
    TRACE(_T("Couldn't allocate enough memory!"));
}

CListCtrl::GetOutlineColor

Recupera il colore del bordo di un controllo visualizzazione elenco.

COLORREF GetOutlineColor() const;

Valore restituito

Restituisce una COLORREF struttura contenente il colore del contorno.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_GETOUTLINECOLOR messaggio, come descritto in Windows SDK.

CListCtrl::GetOrigin

Recupera l'origine della visualizzazione corrente per un controllo visualizzazione elenco.

BOOL GetOrigin(LPPOINT lpPoint) const;

Parametri

lpPoint
Indirizzo di una POINT struttura che riceve l'origine della visualizzazione.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0. Tuttavia, se il controllo si trova nella visualizzazione report, il valore restituito è sempre zero.

CListCtrl::GetSelectedColumn

Recupera l'indice della colonna attualmente selezionata nel controllo elenco.

UINT GetSelectedColumn() const;

Valore restituito

Indice della colonna selezionata.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_GETSELECTEDCOLUMN messaggio, come descritto in Windows SDK.

CListCtrl::GetSelectedCount

Recupera il numero di elementi selezionati nel controllo visualizzazione elenco.

UINT GetSelectedCount() const;

Valore restituito

Numero di elementi selezionati nel controllo visualizzazione elenco.

Esempio

UINT i, uSelectedCount = m_myListCtrl.GetSelectedCount();
int  nItem = -1;

// Update all of the selected items.
if (uSelectedCount > 0)
{
    for (i=0; i < uSelectedCount; i++)
    {
        nItem = m_myListCtrl.GetNextItem(nItem, LVNI_SELECTED);
        ASSERT(nItem != -1);
        m_myListCtrl.Update(nItem);
    }
}

CListCtrl::GetSelectionMark

Recupera il segno di selezione di un controllo visualizzazione elenco.

int GetSelectionMark();

Valore restituito

Segno di selezione in base zero o -1 se non è presente alcun segno di selezione.

Osservazioni:

Questa funzione membro implementa il comportamento della macro Win32, ListView_GetSelectionMark, come descritto in Windows SDK.

Esempio

// Set the selection mark to the first item only if no other item is
// selected.
if (m_myListCtrl.GetSelectionMark() == -1)
    m_myListCtrl.SetSelectionMark(0);

CListCtrl::GetStringWidth

Determina la larghezza minima della colonna necessaria per visualizzare tutte le stringhe specificate.

int GetStringWidth(LPCTSTR lpsz) const;

Parametri

lpsz
Indirizzo di una stringa con terminazione Null la cui larghezza deve essere determinata.

Valore restituito

Larghezza, in pixel, della stringa a lpszcui punta .

Osservazioni:

La larghezza restituita tiene conto dei margini correnti del tipo di carattere e della colonna del controllo, ma non della larghezza di un'icona piccola.

Esempio

CString strColumn;
int nWidth;

// Insert six columns in the list view control. Make the width of
// the column be the width of the column header plus 50%.
for (int i = 0; i < 6; i++)
{
    strColumn.Format(_T("column %d"), i);
    nWidth = 3*m_myListCtrl.GetStringWidth(strColumn)/2;
    m_myListCtrl.InsertColumn(i, strColumn, LVCFMT_LEFT, nWidth);
}

CListCtrl::GetSubItemRect

Recupera il rettangolo di delimitazione di un elemento in un controllo visualizzazione elenco.

BOOL GetSubItemRect(
    int iItem,
    int iSubItem,
    int nArea,
    CRect& ref);

Parametri

iItem
Indice dell'elemento padre dell'elemento secondario.

iSubItem
Indice in base uno dell'elemento secondario.

nArea
Determina la parte del rettangolo di delimitazione (dell'elemento secondario della visualizzazione elenco) da recuperare. La parte (icona, etichetta o entrambe) del rettangolo di delimitazione viene specificata applicando l'operatore bit per OR bit a uno o più dei valori seguenti:

  • LVIR_BOUNDS Restituisce il rettangolo di delimitazione dell'intero elemento, inclusa l'icona e l'etichetta.
  • LVIR_ICON Restituisce il rettangolo di delimitazione dell'icona o dell'icona piccola.
  • LVIR_LABEL Restituisce il rettangolo di delimitazione dell'intero elemento, inclusa l'icona e l'etichetta. È identico a LVIR_BOUNDS.

ref
Riferimento a un CRect oggetto che contiene le coordinate del rettangolo di delimitazione dell'elemento secondario.

Valore restituito

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

Osservazioni:

Questa funzione membro implementa il comportamento della macro Win32, ListView_GetSubItemRect, come descritto in Windows SDK.

CListCtrl::GetTextBkColor

Recupera il colore di sfondo del testo di un controllo visualizzazione elenco.

COLORREF GetTextBkColor() const;

Valore restituito

Valore a 32 bit usato per specificare un colore RGB.

Esempio

Vedere l'esempio per CListCtrl::SetTextBkColor.

CListCtrl::GetTextColor

Recupera il colore del testo di un controllo visualizzazione elenco.

COLORREF GetTextColor() const;

Valore restituito

Valore a 32 bit usato per specificare un colore RGB.

Esempio

Vedere l'esempio per CListCtrl::SetTextColor.

CListCtrl::GetTileInfo

Recupera informazioni su un riquadro in un controllo visualizzazione elenco.

BOOL GetTileInfo(PLVTILEINFO plvti) const;

Parametri

plvti
Puntatore a una LVTILEINFO struttura che riceve le informazioni sul riquadro.

Valore restituito

Il valore restituito non viene usato.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_GETTILEINFO messaggio, come descritto in Windows SDK.

CListCtrl::GetTileViewInfo

Recupera informazioni su un controllo visualizzazione elenco nella visualizzazione riquadro.

BOOL GetTileViewInfo(PLVTILEVIEWINFO ptvi) const;

Parametri

ptvi
Puntatore a una LVTILEVIEWINFO struttura che riceve le informazioni recuperate.

Valore restituito

Il valore restituito non viene usato.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_GETTILEVIEWINFO messaggio, come descritto in Windows SDK.

CListCtrl::GetToolTips

Recupera il controllo descrizione comando utilizzato dal controllo visualizzazione elenco per visualizzare le descrizioni comando.

CToolTipCtrl* GetToolTips() const;

Valore restituito

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

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio LVM_GETTOOLTIPSWin32 , come descritto in Windows SDK. L'implementazione MFC di GetToolTips restituisce un CToolTipCtrl oggetto utilizzato dal controllo elenco anziché da un handle per un controllo descrizione comando.

Esempio

CToolTipCtrl* pTip = m_myListCtrl.GetToolTips();
if (NULL != pTip)
{
    pTip->UpdateTipText(_T("I'm a list view!"), &m_myListCtrl,
        IDD_MYLISTCTRL);
}

CListCtrl::GetTopIndex

Recupera l'indice dell'elemento più visibile nella visualizzazione elenco o nella visualizzazione report.

int GetTopIndex() const;

Valore restituito

Indice dell'elemento più visibile in alto.

Esempio

// Make sure the focus is set to the list view control.
m_myListCtrl.SetFocus();

// Select all of the items that are completely visible.
int n = m_myListCtrl.GetTopIndex();
int nLast = n + m_myListCtrl.GetCountPerPage();

for (; n < nLast; n++)
{
    m_myListCtrl.SetItemState(n, LVIS_SELECTED, LVIS_SELECTED);
    ASSERT(m_myListCtrl.GetItemState(n, LVIS_SELECTED) == LVIS_SELECTED);
}

CListCtrl::GetView

Ottiene la visualizzazione del controllo visualizzazione elenco.

DWORD GetView() const;

Valore restituito

Visualizzazione corrente del controllo visualizzazione elenco.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_GETVIEW messaggio, come descritto in Windows SDK.

CListCtrl::GetViewRect

Recupera il rettangolo di delimitazione di tutti gli elementi nel controllo visualizzazione elenco.

BOOL GetViewRect(LPRECT lpRect) const;

Parametri

lpRect
Indirizzo di una RECT struttura.

Valore restituito

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

Osservazioni:

La visualizzazione elenco deve essere in visualizzazione icona o in visualizzazione icona piccola.

CListCtrl::GetWorkAreas

Recupera le aree di lavoro correnti di un controllo visualizzazione elenco.

void GetWorkAreas(
    int nWorkAreas,
    LPRECT pRect) const;

Parametri

nWorkAreas
Numero di RECT strutture contenute nella pRect matrice.

pRect
Puntatore a una matrice di RECT strutture (o CRect oggetti) che ricevono le aree di lavoro del controllo visualizzazione elenco. I valori in queste strutture sono in coordinate client.

Osservazioni:

Questa funzione membro implementa il comportamento della macro Win32, ListView_GetWorkAreas, come descritto in Windows SDK.

Esempio

Vedere l'esempio per CListCtrl::GetNumberOfWorkAreas.

CListCtrl::HasGroup

Determina se il controllo visualizzazione elenco ha il gruppo specificato.

BOOL HasGroup(int iGroupId) const;

Parametri

iGroupId
Identificatore del gruppo richiesto.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_HASGROUP messaggio, come descritto in Windows SDK.

CListCtrl::HitTest

Determina quale elemento della visualizzazione elenco, se disponibile, si trova in una posizione specificata.

int HitTest(LVHITTESTINFO* pHitTestInfo) const;

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

Parametri

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

pt
Punto da testare.

pFlags
Puntatore a un numero intero che riceve informazioni sui risultati del test. Vedere la spiegazione del flags membro della LVHITTESTINFO struttura in Windows SDK.

Valore restituito

Indice dell'elemento in corrispondenza della posizione specificata da pHitTestInfo, se presente o -1 in caso contrario.

Osservazioni:

È possibile utilizzare i LVHT_ABOVEvalori , LVHT_BELOW, LVHT_TOLEFTe LVHT_TORIGHT del membro della flag struttura per determinare se scorrere il contenuto di un controllo visualizzazione elenco. Due di questi flag possono essere combinati, ad esempio, se la posizione è sopra e a sinistra dell'area client.

È possibile verificare il LVHT_ONITEM valore del membro della flag struttura per determinare se una determinata posizione si trova su una voce di visualizzazione elenco. Questo valore è un'operazione OR bit per bit sui LVHT_ONITEMICONvalori , LVHT_ONITEMLABELe LVHT_ONITEMSTATEICON del membro della flag struttura.

Esempio

void CListCtrlDlg::OnRClick(NMHDR* pNMHDR, LRESULT* pResult)
{
    LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pNMHDR;
    CPoint point(pia->ptAction);

    // Select the item the user clicked on.
    UINT uFlags;
    int nItem = m_myListCtrl.HitTest(point, &uFlags);

    if (uFlags & LVHT_ONITEMLABEL)
    {
        m_myListCtrl.SetItem(nItem, 0, LVIF_STATE, NULL, 0, LVIS_SELECTED,
            LVIS_SELECTED, 0);
    }

    *pResult = 0;
}

CListCtrl::InsertColumn

Inserisce una nuova colonna in un controllo visualizzazione elenco.

int InsertColumn(
    int nCol,
    const LVCOLUMN* pColumn);

int InsertColumn(
    int nCol,
    LPCTSTR lpszColumnHeading,
    int nFormat = LVCFMT_LEFT,
    int nWidth = -1,
    int nSubItem = -1);

Parametri

nCol
Indice della nuova colonna.

pColumn
Indirizzo di una LVCOLUMN struttura che contiene gli attributi della nuova colonna.

lpszColumnHeading
Indirizzo di una stringa contenente l'intestazione della colonna.

nFormat
Intero che specifica l'allineamento della colonna. Può essere uno dei valori seguenti: LVCFMT_LEFT, LVCFMT_RIGHTo LVCFMT_CENTER.

nWidth
Larghezza della colonna, in pixel. Se questo parametro è -1, la larghezza della colonna non viene impostata.

nSubItem
Indice dell'elemento secondario associato alla colonna. Se questo parametro è -1, alla colonna non è associato alcun elemento secondario.

Valore restituito

Indice della nuova colonna se ha esito positivo o -1 in caso contrario.

Osservazioni:

La colonna più a sinistra in un controllo visualizzazione elenco deve essere allineata a sinistra.

La LVCOLUMN struttura contiene gli attributi di una colonna nella visualizzazione report. Viene usato anche per ricevere informazioni su una colonna. Questa struttura è descritta in Windows SDK.

CListCtrl::InsertGroup

Inserisce un gruppo nel controllo visualizzazione elenco.

LRESULT InsertGroup(
    int index,
    PLVGROUP pgrp);

Parametri

index
Indice dell'elemento in cui deve essere inserito il gruppo.

pgrp
Puntatore a una LVGROUP struttura contenente il gruppo da aggiungere.

Valore restituito

Restituisce l'indice dell'elemento a cui è stato aggiunto il gruppo oppure -1 se l'operazione non è riuscita.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_INSERTGROUP messaggio, come descritto in Windows SDK.

CListCtrl::InsertGroupSorted

Inserisce il gruppo specificato in un elenco ordinato di gruppi.

LRESULT InsertGroupSorted(PLVINSERTGROUPSORTED pStructInsert);

Parametri

pStructInsert
Puntatore a una LVINSERTGROUPSORTED struttura che contiene il gruppo da inserire.

Valore restituito

Il valore restituito non viene usato.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_INSERTGROUPSORTED messaggio, come descritto in Windows SDK.

CListCtrl::InsertItem

Inserisce un elemento nel controllo visualizzazione elenco.

int InsertItem(const LVITEM* pItem);

int InsertItem(
    int nItem,
    LPCTSTR lpszItem);

int InsertItem(
    int nItem,
    LPCTSTR lpszItem,
    int nImage);

int InsertItem(
    UINT nMask,
    int nItem,
    LPCTSTR lpszItem,
    UINT nState,
    UINT nStateMask,
    int nImage,
    LPARAM lParam);

Parametri

pItem
Puntatore a una struttura LVITEM che specifica gli attributi dell'elemento, come descritto in Windows SDK.

nItem
Indice dell'elemento da inserire.

lpszItem
Indirizzo di una stringa contenente l'etichetta dell'elemento o LPSTR_TEXTCALLBACK se l'elemento è un elemento di callback. Per informazioni sugli elementi di callback, vedere CListCtrl::GetCallbackMask.

nImage
Indice dell'immagine dell'elemento o I_IMAGECALLBACK se l'elemento è un elemento di callback. Per informazioni sugli elementi di callback, vedere CListCtrl::GetCallbackMask.

nMask
Il nMask parametro specifica gli attributi dell'elemento passati come parametri validi. Può essere uno o più dei valori mask descritti in LVITEM Struttura in Windows SDK. I valori validi possono essere combinati con l'operatore OR bit per bit.

nState
Indica lo stato dell'elemento, l'immagine dello stato e l'immagine di sovrapposizione. Per altre informazioni, vedere gli argomenti LVITEM di Windows SDK Struttura e Stati degli elementi della visualizzazione elenco per un elenco di flag validi.

nStateMask
Indica quali bit del membro dello stato verranno recuperati o modificati. Per altre informazioni, vedere LVITEM Struttura in Windows SDK.

lParam
Valore specifico dell'applicazione a 32 bit (a 64 bit se si esegue la compilazione per x64) associato all'elemento. Se questo parametro è specificato, è necessario impostare l'attributo nMask LVIF_PARAM.

Valore restituito

Indice del nuovo elemento se ha esito positivo o -1 in caso contrario.

Osservazioni:

La chiamata a questo metodo può causare l'invio del LVM_INSERTITEM messaggio alla finestra di controllo. Il gestore messaggi associato per il controllo potrebbe non riuscire a impostare il testo dell'elemento in determinate condizioni, ad esempio l'uso di stili di finestra, LVS_OWNERDRAWad esempio . Per altre informazioni su queste condizioni, vedere LVM_INSERTITEM in Windows SDK.

Esempio

CString strText;
int nColumnCount = m_myListCtrl.GetHeaderCtrl()->GetItemCount();

// Insert 10 items in the list view control.
for (int i = 0; i < 10; i++)
{
    strText.Format(TEXT("item %d"), i);

    // Insert the item, select every other item.
    m_myListCtrl.InsertItem(LVIF_TEXT | LVIF_STATE, i, strText,
        (i % 2) == 0 ? LVIS_SELECTED : 0, LVIS_SELECTED, 0, 0);

    // Initialize the text of the subitems.
    for (int j = 1; j < nColumnCount; j++)
    {
        strText.Format(TEXT("sub-item %d %d"), i, j);
        m_myListCtrl.SetItemText(i, j, strText);
    }
}

CListCtrl::InsertMarkHitTest

Recupera il punto di inserimento più vicino a un punto specificato.

int InsertMarkHitTest(
    LPPOINT pPoint,
    LPLVINSERTMARK plvim) const;

Parametri

pPoint
Puntatore a una POINT struttura che contiene le coordinate di hit test rispetto all'area client del controllo elenco.

plvim
Puntatore a una LVINSERTMARK struttura che specifica il punto di inserimento più vicino alle coordinate definite dal parametro point.

Valore restituito

Punto di inserimento più vicino al punto specificato.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_INSERTMARKHITTEST messaggio, come descritto in Windows SDK.

CListCtrl::IsGroupViewEnabled

Determina se la visualizzazione gruppo è abilitata per un controllo visualizzazione elenco.

BOOL IsGroupViewEnabled() const;

Valore restituito

Restituisce TRUE se la visualizzazione gruppo è abilitata o FALSE in caso contrario.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_ISGROUPVIEWENABLED messaggio, come descritto in Windows SDK.

CListCtrl::IsItemVisible

Indica se un elemento specificato nel controllo visualizzazione elenco corrente è visibile.

BOOL IsItemVisible(int index) const;

Parametri

index
[in] Indice in base zero di un elemento nel controllo di visualizzazione elenco corrente.

Valore restituito

TRUE se l'elemento specificato è visibile; in caso contrario, FALSE.

Osservazioni:

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

CListCtrl::MapIDToIndex

Esegue il mapping dell'ID univoco di un elemento nel controllo di visualizzazione elenco corrente a un indice.

UINT MapIDToIndex(UINT id) const;

Parametri

id
[in] ID univoco di un elemento.

Valore restituito

Indice corrente per l'ID specificato.

Osservazioni:

Un controllo visualizzazione elenco tiene traccia internamente degli elementi in base all'indice. Questo può presentare problemi perché gli indici possono cambiare durante la durata del controllo. Il controllo visualizzazione elenco può contrassegnare un elemento con un ID quando viene creato l'elemento ed è possibile utilizzare questo ID per garantire l'univocità durante la durata del controllo visualizzazione elenco.

In un ambiente multithreading l'indice è garantito solo nel thread che ospita il controllo visualizzazione elenco, non nei thread in background.

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

CListCtrl::MapIndexToID

Esegue il mapping dell'indice di un elemento nel controllo visualizzazione elenco corrente a un ID univoco.

UINT MapIndexToID(UINT index) const;

Parametri

index
[in] Indice in base zero di un elemento.

Valore restituito

ID univoco per l'elemento specificato.

Osservazioni:

Un controllo visualizzazione elenco tiene traccia internamente degli elementi in base all'indice. Questo può presentare problemi perché gli indici possono cambiare durante la durata del controllo. Il controllo visualizzazione elenco può contrassegnare un elemento con un ID al momento della creazione dell'elemento. È possibile usare questo ID per accedere a un elemento specifico per la durata del controllo visualizzazione elenco.

In un ambiente multithreading l'indice è garantito solo nel thread che ospita il controllo visualizzazione elenco, non nei thread in background.

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

Esempio

Il primo esempio di codice definisce una variabile, m_listCtrl, usata per accedere al controllo di visualizzazione elenco corrente. Questa variabile viene usata nell'esempio riportato di seguito.

public:
    // Variable used to access the list control.
    CListCtrl m_listCtrl;

Nell'esempio di codice successivo viene illustrato il MapIndexToID metodo . In una sezione precedente di questo esempio di codice è stato creato un controllo visualizzazione elenco che visualizza due colonne denominate "ClientID" e "Grade" in una visualizzazione report. Nell'esempio seguente viene eseguito il mapping dell'indice di ogni elemento della visualizzazione elenco a un numero di identificazione e quindi viene recuperato l'indice per ogni numero di identificazione. Infine, l'esempio indica se gli indici originali sono stati recuperati.

// MapIndexToID
int iCount = m_listCtrl.GetItemCount();
UINT nId = 0;
UINT nIndex = 0;
for (int iIndexOriginal = 0; iIndexOriginal < iCount; iIndexOriginal++)
{
    // Map index to ID.
    nId = m_listCtrl.MapIndexToID((UINT)iIndexOriginal);

    // Map ID to index.
    nIndex = m_listCtrl.MapIDToIndex(nId);

    if (nIndex != (UINT)(iIndexOriginal))
    {
        CString str;
        str.Format(_T("Mapped index (%d) is not equal to original index (%d)"),
            nIndex, (UINT)(iIndexOriginal));
        AfxMessageBox(str);
        return;
    }
}
AfxMessageBox(_T("The mapped indexes and original indexes are equal."),
    MB_ICONINFORMATION);

CListCtrl::MoveGroup

Sposta il gruppo specificato nell'indice in base zero specificato del controllo visualizzazione elenco.

LRESULT MoveGroup(
    int iGroupId,
    int toIndex);

Parametri

iGroupId
Identificatore del gruppo da spostare.

toIndex
Indice in base zero in cui deve essere spostato il gruppo.

Valore restituito

Il valore restituito non viene usato.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_MOVEGROUP messaggio, come descritto in Windows SDK.

CListCtrl::MoveItemToGroup

Sposta l'elemento specificato nel gruppo specificato.

void MoveItemToGroup(
    int idItemFrom,
    int idGroupTo);

Parametri

idItemFrom
[in] Indice dell'elemento da spostare.

idGroupTo
[in] Identificatore del gruppo in cui verrà spostato l'elemento.

Osservazioni:

Nota

Questo metodo non è attualmente implementato.

Questo metodo emula la funzionalità del LVM_MOVEITEMTOGROUP messaggio, come descritto in Windows SDK.

CListCtrl::RedrawItems

Forza l'aggiornamento di un intervallo di elementi da parte di un controllo visualizzazione elenco.

BOOL RedrawItems(
    int nFirst,
    int nLast);

Parametri

nFirst
Indice del primo elemento da ricompilare.

nLast
Indice dell'ultimo elemento da ricompilare.

Valore restituito

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

Osservazioni:

Gli elementi specificati non vengono ridisegnati finché la finestra della visualizzazione elenco non riceve un messaggio di WM_PAINT. Per eseguire immediatamente l'aggiornamento, chiamare la funzione Windows UpdateWindow dopo aver usato questa funzione.

CListCtrl::RemoveAllGroups

Rimuove tutti i gruppi da un controllo visualizzazione elenco.

void RemoveAllGroups();

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_REMOVEALLGROUPS messaggio, come descritto in Windows SDK.

CListCtrl::RemoveGroup

Rimuove il gruppo specificato dal controllo visualizzazione elenco.

LRESULT RemoveGroup(int iGroupId);

Parametri

iGroupId
Identificatore del gruppo da rimuovere.

Valore restituito

Restituisce l'indice del gruppo se ha esito positivo oppure -1 in caso contrario.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_REMOVEGROUP messaggio, come descritto in Windows SDK.

CListCtrl::Scroll

Scorre il contenuto di un controllo visualizzazione elenco.

BOOL Scroll(CSize size);

Parametri

size
Oggetto CSize che specifica la quantità di scorrimento orizzontale e verticale, in pixel. Il y membro delle dimensioni è diviso per l'altezza, in pixel, della riga del controllo visualizzazione elenco e il controllo viene scorrevole in base al numero di righe risultante.

Valore restituito

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

CListCtrl::SetBkColor

Imposta il colore di sfondo del controllo visualizzazione elenco.

BOOL SetBkColor(COLORREF cr);

Parametri

cr
Colore di sfondo da impostare oppure il CLR_NONE valore per nessun colore di sfondo. I controlli visualizzazione elenco con colori di sfondo si ridisegnano notevolmente più velocemente rispetto a quelli senza colori di sfondo. Per informazioni, vedere COLORREF in Windows SDK.

Valore restituito

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

Esempio

// Use the 3D button face color for the background.
COLORREF crBkColor = ::GetSysColor(COLOR_3DFACE);
m_myListCtrl.SetBkColor(crBkColor);
ASSERT(m_myListCtrl.GetBkColor() == crBkColor);

CListCtrl::SetBkImage

Imposta l'immagine di sfondo di un controllo visualizzazione elenco.

BOOL SetBkImage(LVBKIMAGE* plvbkImage);

BOOL SetBkImage(
    HBITMAP hBitmap,
    BOOL fTile = TRUE,
    int xOffsetPercent = 0,
    int yOffsetPercent = 0);

BOOL SetBkImage(
    LPTSTR pszUrl,
    BOOL fTile = TRUE,
    int xOffsetPercent = 0,
    int yOffsetPercent = 0);

Parametri

plvbkImage
Indirizzo di una LVBKIMAGE struttura contenente le informazioni sulla nuova immagine di sfondo.

hBitmap
Handle in una bitmap.

pszUrl
Stringa NULLcon terminazione che contiene l'URL dell'immagine di sfondo.

fTile
Diverso da zero se l'immagine deve essere affiancata sullo sfondo del controllo visualizzazione elenco; in caso contrario, 0.

xOffsetPercent
Offset, in pixel, del bordo sinistro dell'immagine, dall'origine del controllo visualizzazione elenco.

yOffsetPercent
Offset, in pixel, del bordo superiore dell'immagine, dall'origine del controllo visualizzazione elenco.

Valore restituito

Restituisce un valore diverso da zero se ha esito positivo o zero in caso contrario.

Osservazioni:

Nota

Poiché CListCtrl::SetBkImage usa la funzionalità OLE COM, è necessario inizializzare le librerie OLE prima di usare SetBkImage. È consigliabile inizializzare le librerie COM quando l'applicazione viene inizializzata e annullata l'inizializzazione delle librerie quando l'applicazione termina. Questa operazione viene eseguita automaticamente nelle applicazioni MFC che usano la tecnologia ActiveX, l'automazione OLE, il collegamento OLE/incorporamento o le operazioni ODBC/DAO.

Esempio

Vedere l'esempio per CListCtrl::GetBkImage.

CListCtrl::SetCallbackMask

Imposta la maschera di callback per un controllo visualizzazione elenco.

BOOL SetCallbackMask(UINT nMask);

Parametri

nMask
Nuovo valore della maschera di callback.

Valore restituito

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

Esempio

// Set the callback mask so that only the selected and focused states
// are stored for each item.
m_myListCtrl.SetCallbackMask(LVIS_SELECTED|LVIS_FOCUSED);
ASSERT(m_myListCtrl.GetCallbackMask() ==
    (LVIS_SELECTED|LVIS_FOCUSED));

CListCtrl::SetCheck

Determina se l'immagine di stato di un elemento del controllo elenco è visibile.

BOOL SetCheck(
    int nItem,
    BOOL fCheck = TRUE);

Parametri

nItem
Indice in base zero di un elemento del controllo elenco.

fCheck
Specifica se l'immagine dello stato dell'elemento deve essere visibile o meno. Per impostazione predefinita, fCheck è TRUE e l'immagine di stato è visibile. Se fCheck è FALSE, non è visibile.

Valore restituito

Diverso da zero se l'elemento è selezionato, in caso contrario 0.

Esempio

int nCount = m_myListCtrl.GetItemCount();
BOOL fCheck = FALSE;

// Set the check state of every other item to TRUE and
// all others to FALSE.
for (int i = 0; i < nCount; i++)
{
    m_myListCtrl.SetCheck(i, fCheck);
    ASSERT((m_myListCtrl.GetCheck(i) && fCheck) ||
        (!m_myListCtrl.GetCheck(i) && !fCheck));
    fCheck = !fCheck;
}

CListCtrl::SetColumn

Imposta gli attributi di una colonna della visualizzazione elenco.

BOOL SetColumn(
    int nCol,
    const LVCOLUMN* pColumn);

Parametri

nCol
Indice della colonna i cui attributi devono essere impostati.

pColumn
Indirizzo di una LVCOLUMN struttura che contiene i nuovi attributi di colonna, come descritto in Windows SDK. Il membro della mask struttura specifica gli attributi di colonna da impostare. Se il mask membro specifica il LVCF_TEXT valore, il membro della pszText struttura è l'indirizzo di una stringa con terminazione Null e il membro della cchTextMax struttura viene ignorato.

Valore restituito

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

Esempio

Vedere l'esempio per CListCtrl::GetColumn.

CListCtrl::SetColumnOrderArray

Imposta l'ordine delle colonne (da sinistra a destra) di un controllo visualizzazione elenco.

BOOL SetColumnOrderArray(
    int iCount,
    LPINT piArray);

Parametri

piArray
Puntatore a un buffer contenente i valori di indice delle colonne nel controllo visualizzazione elenco (da sinistra a destra). Il buffer deve essere sufficientemente grande da contenere il numero totale di colonne nel controllo visualizzazione elenco.

iCount
Numero di colonne nel controllo visualizzazione elenco.

Valore restituito

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

Osservazioni:

Questa funzione membro implementa il comportamento della macro Win32, ListView_SetColumnOrderArray, come descritto in Windows SDK.

Esempio

Vedere l'esempio per CListCtrl::GetColumnOrderArray.

CListCtrl::SetColumnWidth

Modifica la larghezza di una colonna nella visualizzazione report o nella visualizzazione elenco.

BOOL SetColumnWidth(
    int nCol,
    int cx);

Parametri

nCol
Indice della colonna per la quale deve essere impostata la larghezza. Nella visualizzazione elenco questo parametro deve essere 0.

cx
Nuova larghezza della colonna. Può essere LVSCW_AUTOSIZE o LVSCW_AUTOSIZE_USEHEADER, come descritto in LVM_SETCOLUMNWIDTH Windows SDK.

Valore restituito

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

CListCtrl::SetExtendedStyle

Imposta gli stili estesi correnti di un controllo visualizzazione elenco.

DWORD SetExtendedStyle(DWORD dwNewStyle);

Parametri

dwNewStyle
Combinazione di stili estesi da utilizzare dal controllo visualizzazione elenco. Per un elenco descrittivo di questi stili, vedi l'argomento Stili visualizzazione elenco estesi in Windows SDK.

Valore restituito

Combinazione degli stili estesi precedenti utilizzati dal controllo visualizzazione elenco.

Osservazioni:

Questa funzione membro implementa il comportamento della macro Win32, ListView_SetExtendedListViewStyle, come descritto in Windows SDK.

Esempio

// Allow the header controls item to be movable by the user.
m_myListCtrl.SetExtendedStyle
    (m_myListCtrl.GetExtendedStyle()|LVS_EX_HEADERDRAGDROP);

CListCtrl::SetGroupInfo

Imposta le informazioni che descrivono il gruppo specificato del controllo di visualizzazione elenco corrente.

int SetGroupInfo(
    int iGroupId,
    PLVGROUP pgrp);

Parametri

iGroupId
Identificatore del gruppo le cui informazioni sono impostate.

pgrp
Puntatore a una LVGROUP struttura che contiene le informazioni da impostare. Il chiamante è responsabile dell'allocazione di questa struttura e dell'impostazione dei relativi membri.

Valore restituito

ID del gruppo se il metodo ha esito positivo; in caso contrario, -1.

Osservazioni:

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

CListCtrl::SetGroupMetrics

Imposta le metriche di gruppo di un controllo visualizzazione elenco.

void SetGroupMetrics(PLVGROUPMETRICS pGroupMetrics);

Parametri

pGroupMetrics
Puntatore a una LVGROUPMETRICS struttura contenente le informazioni sulle metriche di gruppo da impostare.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_SETGROUPMETRICS messaggio, come descritto in Windows SDK.

CListCtrl::SetHotCursor

Imposta il cursore utilizzato quando il rilevamento rapido è abilitato per un controllo visualizzazione elenco.

HCURSOR SetHotCursor(HCURSOR hc);

Parametri

hc
Handle per una risorsa cursore, utilizzato per rappresentare il cursore attivo.

Valore restituito

Handle della risorsa cursore ad accesso frequente precedente utilizzata dal controllo visualizzazione elenco.

Osservazioni:

Questa funzione membro implementa il comportamento della macro Win32, ListView_SetHotCursor, come descritto in Windows SDK.

Il cursore attivo, visibile solo quando la selezione del passaggio del mouse è abilitata, viene visualizzata quando il cursore passa su qualsiasi elemento della visualizzazione elenco. La selezione al passaggio del mouse è abilitata impostando lo LVS_EX_TRACKSELECT stile esteso.

Esempio

Vedere l'esempio per CListCtrl::GetHotCursor.

CListCtrl::SetHotItem

Imposta l'elemento attivo corrente di un controllo visualizzazione elenco.

int SetHotItem(int iIndex);

Parametri

iIndex
Indice in base zero dell'elemento da impostare come elemento attivo.

Valore restituito

Indice in base zero dell'elemento attivo in precedenza.

Osservazioni:

Questa funzione membro implementa il comportamento della macro Win32, ListView_SetHotItem, come descritto in Windows SDK.

Esempio

Vedere l'esempio per CListCtrl::GetHotItem.

CListCtrl::SetHoverTime

Imposta l'ora corrente del passaggio del mouse di un controllo visualizzazione elenco.

DWORD SetHoverTime(DWORD dwHoverTime = (DWORD)-1);

Parametri

dwHoverTime
Nuovo ritardo, in millisecondi, che il cursore del mouse deve passare il puntatore su un elemento prima che venga selezionato. Se il valore predefinito viene passato, l'ora viene impostata sul tempo di passaggio predefinito.

Valore restituito

Tempo precedente al passaggio del mouse, espresso in millisecondi.

Osservazioni:

Questa funzione membro implementa il comportamento della macro Win32, ListView_SetHoverTime, come descritto in Windows SDK.

Esempio

Vedere l'esempio per CListCtrl::GetHoverTime.

CListCtrl::SetIconSpacing

Imposta la spaziatura tra le icone in un controllo visualizzazione elenco.

CSize SetIconSpacing(
    int cx,
    int cy);

CSize SetIconSpacing(CSize size);

Parametri

cx
Distanza in pixel tra le icone sull'asse x.

cy
Distanza in pixel tra le icone sull'asse y.

size
Oggetto CSize che specifica la distanza, espressa in pixel, tra le icone sugli assi x e y.

Valore restituito

Oggetto CSize contenente i valori precedenti per la spaziatura dell'icona.

Osservazioni:

Questa funzione membro implementa il comportamento della macro Win32, ListView_SetIconSpacing, come descritto in Windows SDK.

Esempio

// Leave lots of space between icons.
m_myListCtrl.SetIconSpacing(CSize(100, 100));

CListCtrl::SetImageList

Assegna un elenco di immagini a un controllo visualizzazione elenco.

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

Parametri

pImageList
Puntatore all'elenco di immagini da assegnare.

nImageListType
Tipo di elenco di immagini. Può essere uno di questi valori:

  • LVSIL_NORMAL Elenco di immagini con icone di grandi dimensioni.
  • LVSIL_SMALL Elenco di immagini con icone piccole.
  • LVSIL_STATE Elenco di immagini con immagini di stato.

Valore restituito

Puntatore all'elenco di immagini precedente.

Esempio

Vedere l'esempio per CListCtrl::GetImageList.

CListCtrl::SetInfoTip

Imposta il testo della descrizione comando.

BOOL SetInfoTip(PLVSETINFOTIP plvInfoTip);

Parametri

plvInfoTip
Puntatore a una LVFSETINFOTIP struttura contenente le informazioni da impostare.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_SETINFOTIP messaggio, come descritto in Windows SDK.

CListCtrl::SetInsertMark

Imposta il punto di inserimento sulla posizione definita.

BOOL SetInsertMark(LPLVINSERTMARK plvim);

Parametri

plvim
Puntatore a una LVINSERTMARK struttura che specifica dove impostare il punto di inserimento.

Valore restituito

Restituisce TRUE se ha esito positivo o FALSE in caso contrario. FALSE viene restituito se la dimensione nel cbSize membro della LVINSERTMARK struttura non è uguale alla dimensione effettiva della struttura o quando un punto di inserimento non viene applicato nella visualizzazione corrente.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_SETINSERTMARK messaggio, come descritto in Windows SDK.

CListCtrl::SetInsertMarkColor

Imposta il colore del punto di inserimento.

COLORREF SetInsertMarkColor(COLORREF color);

Parametri

color
Struttura COLORREF che specifica il colore per impostare il punto di inserimento.

Valore restituito

Restituisce una COLORREF struttura contenente il colore precedente.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_SETINSERTMARKCOLOR messaggio, come descritto in Windows SDK.

CListCtrl::SetItem

Imposta alcuni o tutti gli attributi di una voce di visualizzazione elenco.

BOOL SetItem(const LVITEM* pItem);

BOOL SetItem(
    int nItem,
    int nSubItem,
    UINT nMask,
    LPCTSTR lpszItem,
    int nImage,
    UINT nState,
    UINT nStateMask,
    LPARAM lParam);

BOOL SetItem(
    int nItem,
    int nSubItem,
    UINT nMask,
    LPCTSTR lpszItem,
    int nImage,
    UINT nState,
    UINT nStateMask,
    LPARAM lParam,
    int nIndent);

Parametri

pItem
Indirizzo di una LVITEM struttura che contiene i nuovi attributi di elemento, come descritto in Windows SDK. I membri e iSubItem della iItem struttura identificano l'elemento o l'elemento secondario e il membro della mask struttura specifica gli attributi da impostare. Per altre informazioni sul mask membro, vedere la sezione Osservazioni.

nItem
Indice dell'elemento i cui attributi devono essere impostati.

nSubItem
Indice dell'elemento secondario i cui attributi devono essere impostati.

nMask
Specifica gli attributi da impostare (vedere la sezione Osservazioni).

lpszItem
Indirizzo di una stringa con terminazione Null che specifica l'etichetta dell'elemento.

nImage
Indice dell'immagine dell'elemento all'interno dell'elenco di immagini.

nState
Specifica i valori per gli stati da modificare (vedere la sezione Note).

nStateMask
Specifica gli stati da modificare (vedere la sezione Note).

lParam
Valore specifico dell'applicazione a 32 bit (a 64 bit se si esegue la compilazione per x64) da associare all'elemento.

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

Valore restituito

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

Osservazioni:

I iItem membri e iSubItem della LVITEM struttura e i nItem parametri e nSubItem identificano l'elemento e l'elemento secondario i cui attributi devono essere impostati.

Il mask membro della LVITEM struttura e il nMask parametro specificano gli attributi dell'elemento da impostare:

  • LVIF_TEXT Il pszText membro o il lpszItem parametro è l'indirizzo di una stringa con terminazione Null. Il cchTextMax membro viene ignorato.
  • LVIF_STATEIl stateMask membro o nStateMask il parametro specifica gli stati dell'elemento da modificare e il membro o nState il state parametro contiene i valori per tali stati.

Esempio

Vedere l'esempio per CListCtrl::HitTest.

CListCtrl::SetItemCount

Prepara un controllo visualizzazione elenco per l'aggiunta di un numero elevato di elementi.

void SetItemCount(int nItems);

Parametri

nItems
Numero di elementi che il controllo conterrà.

Osservazioni:

Per impostare il numero di elementi per un controllo visualizzazione elenco virtuale, vedere CListCtrl::SetItemCountEx.

Questa funzione membro implementa il comportamento della macro Win32, ListView_SetItemCount, come descritto in Windows SDK.

Esempio

CString str;

// Add 1024 items to the list view control.
m_myListCtrl.SetItemCount(1024);

for (int i = 0; i < 1024; i++)
{
    str.Format(TEXT("item %d"), i);
    m_myListCtrl.InsertItem(i, str);
}

CListCtrl::SetItemCountEx

Imposta il numero di elementi per un controllo visualizzazione elenco virtuale.

BOOL SetItemCountEx(
    int iCount,
    DWORD dwFlags = LVSICF_NOINVALIDATEALL);

Parametri

iCount
Numero di elementi che il controllo conterrà.

dwFlags
Specifica il comportamento del controllo visualizzazione elenco dopo la reimpostazione del numero di elementi. Questo valore può essere una combinazione di quanto segue:

  • LVSICF_NOINVALIDATEALL Il controllo visualizzazione elenco non verrà ridisegnato a meno che gli elementi interessati non siano attualmente visualizzati. Questo è il valore predefinito.
  • LVSICF_NOSCROLL Il controllo visualizzazione elenco non modifica la posizione di scorrimento quando cambia il numero di elementi.

Valore restituito

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

Osservazioni:

Questa funzione membro implementa il comportamento della macro Win32, , ListView_SetItemCountExcome descritto in Windows SDKand deve essere chiamato solo per le visualizzazioni elenco virtuali.

Esempio

CString str;

// Add 1024 items to the list view control.

// Force my virtual list view control to allocate
// enough memory for my 1024 items.
m_myVirtualListCtrl.SetItemCountEx(1024, LVSICF_NOSCROLL|
    LVSICF_NOINVALIDATEALL);

for (int i = 0; i < 1024; i++)
{
    str.Format(TEXT("item %d"), i);
    m_myVirtualListCtrl.InsertItem(i, str);
}

CListCtrl::SetItemData

Imposta il valore specifico dell'applicazione a 32 bit (a 64 bit se si esegue la compilazione per x64) associato all'elemento specificato da nItem.

BOOL SetItemData(int nItem, DWORD_PTR dwData);

Parametri

nItem
Indice dell'elemento di elenco i cui dati devono essere impostati.

dwData
Valore a 32 bit (a 64 bit se si esegue la compilazione per x64) da associare all'elemento.

Valore restituito

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

Osservazioni:

Questo valore è il lParam membro della LVITEM struttura, come descritto in Windows SDK.

Esempio

// Set the data of each item to be equal to its index.
for (int i = 0; i < m_myListCtrl.GetItemCount(); i++)
{
    m_myListCtrl.SetItemData(i, i);
}

CListCtrl::SetItemIndexState

Imposta lo stato di un elemento nel controllo visualizzazione elenco corrente.

BOOL SetItemIndexState(
    PLVITEMINDEX pItemIndex,
    DWORD dwState,
    DWORD dwMask) const;

Parametri

pItemIndex
[in] Puntatore a una LVITEMINDEX struttura che descrive un elemento. Il chiamante è responsabile dell'allocazione di questa struttura e dell'impostazione dei relativi membri.

dwState
[in] Stato per impostare l'elemento, ovvero una combinazione bit per bit degli stati degli elementi della visualizzazione elenco. Specificare zero per reimpostare o uno per impostare uno stato.

dwMask
[in] Maschera dei bit validi dello stato specificato dal dwState parametro . Specificare una combinazione bit per bit (OR) degli stati degli elementi della visualizzazione elenco.

Valore restituito

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

Osservazioni:

Per altre informazioni sul parametro, vedere List View Item States.For more information about the dwState parameter, see List View Item States.

Per altre informazioni sul dwMask parametro , vedere il stateMask membro della LVITEM struttura.

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

CListCtrl::SetItemPosition

Sposta un elemento in una posizione specificata in un controllo visualizzazione elenco.

BOOL SetItemPosition(
    int nItem,
    POINT pt);

Parametri

nItem
Indice dell'elemento la cui posizione deve essere impostata.

pt
Struttura POINT che specifica la nuova posizione, nelle coordinate di visualizzazione, dell'angolo superiore sinistro dell'elemento.

Valore restituito

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

Osservazioni:

Il controllo deve essere in visualizzazione icona o icona piccola.

Se il controllo visualizzazione elenco ha lo LVS_AUTOARRANGE stile, la visualizzazione elenco viene disposta dopo l'impostazione della posizione dell'elemento.

Esempio

Vedere l'esempio per CListCtrl::GetItemPosition.

CListCtrl::SetItemState

Modifica lo stato di un elemento in un controllo visualizzazione elenco.

BOOL SetItemState(
    int nItem,
    LVITEM* pItem);

BOOL SetItemState(
    int nItem,
    UINT nState,
    UINT nMask);

Parametri

nItem
Indice dell'elemento il cui stato deve essere impostato. Passare -1 per applicare la modifica dello stato a tutti gli elementi.

pItem
Indirizzo di una LVITEM struttura, come descritto in Windows SDK. Il membro della struttura specifica i bit di stateMask stato da modificare e il membro della state struttura contiene i nuovi valori per tali bit. Gli altri membri vengono ignorati.

nState
Nuovi valori per i bit di stato. Per un elenco dei valori possibili, vedere CListCtrl::GetNextItem e il membro dello LVITEM stato.

nMask
Maschera che specifica i bit di stato da modificare. Questo valore corrisponde al membro stateMask della LVITEM struttura.

Valore restituito

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

Osservazioni:

Lo "stato" di un elemento è un valore che specifica la disponibilità dell'elemento, indica le azioni dell'utente o in caso contrario riflette lo stato dell'elemento. Un controllo visualizzazione elenco modifica alcuni bit di stato, ad esempio quando l'utente seleziona un elemento. Un'applicazione può modificare altri bit di stato per disabilitare o nascondere l'elemento oppure per specificare un'immagine di sovrimpressione o un'immagine dello stato.

Esempio

Vedere l'esempio per CListCtrl::GetTopIndex.

CListCtrl::SetItemText

Modifica il testo di un elemento o di un elemento secondario della visualizzazione elenco.

BOOL SetItemText(
    int nItem,
    int nSubItem,
    LPCTSTR lpszText);

Parametri

nItem
Indice dell'elemento il cui testo deve essere impostato.

nSubItem
Indice dell'elemento secondario o zero per impostare l'etichetta dell'elemento.

lpszText
Puntatore a una stringa contenente il nuovo testo dell'elemento.

Valore restituito

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

Osservazioni:

Questo metodo non è destinato all'uso con i controlli contenenti lo stile della LVS_OWNERDATA finestra( in realtà, ciò causerà un'asserzione nelle compilazioni di debug). Per altre informazioni su questo stile di controllo elenco, vedere Cenni preliminari sui controlli List-View.

Esempio

Vedere l'esempio per CListCtrl::InsertItem.

CListCtrl::SetOutlineColor

Imposta il colore del bordo di un controllo visualizzazione elenco se LVS_EX_BORDERSELECT lo stile della finestra estesa è impostato.

COLORREF SetOutlineColor(COLORREF color);

Parametri

color
COLORREF Nuova struttura contenente il colore del contorno.

Valore restituito

Struttura precedente COLORREF contenente il colore del contorno

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_SETOUTLINECOLOR messaggio, come descritto in Windows SDK.

CListCtrl::SetSelectedColumn

Imposta la colonna selezionata del controllo visualizzazione elenco.

LRESULT SetSelectedColumn(int iCol);

Parametri

iCol
Indice della colonna da selezionare.

Valore restituito

Il valore restituito non viene usato.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_SETSELECTEDCOLUMN messaggio, come descritto in Windows SDK.

CListCtrl::SetSelectionMark

Imposta il segno di selezione di un controllo visualizzazione elenco.

int SetSelectionMark(int iIndex);

Parametri

iIndex
Indice in base zero del primo elemento in una selezione multipla.

Valore restituito

Segno di selezione precedente oppure -1 se non è presente alcun segno di selezione.

Osservazioni:

Questa funzione membro implementa il comportamento della macro Win32, ListView_SetSelectionMark, come descritto in Windows SDK.

Esempio

Vedere l'esempio per CListCtrl::GetSelectionMark.

CListCtrl::SetTextBkColor

Imposta il colore di sfondo del testo in un controllo visualizzazione elenco.

BOOL SetTextBkColor(COLORREF cr);

Parametri

cr
Oggetto COLORREF che specifica il nuovo colore di sfondo del testo. Per informazioni, vedere COLORREF in Windows SDK.

Valore restituito

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

Esempio

// Use the 3D button face color for the background.
COLORREF crBkColor = ::GetSysColor(COLOR_3DFACE);
m_myListCtrl.SetTextBkColor(crBkColor);
ASSERT(m_myListCtrl.GetTextBkColor() == crBkColor);

CListCtrl::SetTextColor

Imposta il colore del testo di un controllo visualizzazione elenco.

BOOL SetTextColor(COLORREF cr);

Parametri

cr
Oggetto COLORREF che specifica il nuovo colore del testo. Per informazioni, vedere COLORREF in Windows SDK.

Valore restituito

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

Esempio

// Use the window text color for
// the item text of the list view control.
COLORREF crTextColor = ::GetSysColor(COLOR_WINDOWTEXT);
m_myListCtrl.SetTextColor(crTextColor);
ASSERT(m_myListCtrl.GetTextColor() == crTextColor);

CListCtrl::SetTileInfo

Imposta le informazioni per un riquadro del controllo visualizzazione elenco.

BOOL SetTileInfo(PLVTILEINFO pTileInfo);

Parametri

pTileInfo
Puntatore a una LVTILEINFO struttura contenente le informazioni da impostare.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_SETTILEINFO messaggio, come descritto in Windows SDK.

CListCtrl::SetTileViewInfo

Imposta le informazioni utilizzate da un controllo visualizzazione elenco nella visualizzazione riquadro.

BOOL SetTileViewInfo(PLVTILEVIEWINFO ptvi);

Parametri

ptvi
Puntatore a una LVTILEVIEWINFO struttura contenente le informazioni da impostare.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_SETTILEVIEWINFO messaggio, come descritto in Windows SDK.

CListCtrl::SetToolTips

Imposta il controllo descrizione comando che verrà utilizzato dal controllo visualizzazione elenco per visualizzare le descrizioni comando.

CToolTipCtrl* SetToolTips(CToolTipCtrl* pWndTip);

Parametri

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

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:

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

Per non usare le descrizioni comando, indicare lo LVS_NOTOOLTIPS stile quando si crea l'oggetto CListCtrl .

CListCtrl::SetView

Imposta la visualizzazione del controllo visualizzazione elenco.

DWORD SetView(int iView);

Parametri

iView
Visualizzazione da selezionare.

Valore restituito

Restituisce 1 se ha esito positivo o -1 in caso contrario. Ad esempio, viene restituito -1 se la visualizzazione non è valida.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_SETVIEW messaggio, come descritto in Windows SDK.

CListCtrl::SetWorkAreas

Imposta l'area in cui è possibile visualizzare le icone in un controllo visualizzazione elenco.

void SetWorkAreas(
    int nWorkAreas,
    LPRECT lpRect);

Parametri

nWorkAreas
Numero di RECT strutture (o CRect oggetti) nella matrice a lpRectcui punta .

lpRect
Indirizzo di una matrice di RECT strutture (o CRect oggetti) che specificano le nuove aree di lavoro del controllo visualizzazione elenco. Queste aree devono essere specificate nelle coordinate client. Se questo parametro è NULL, l'area di lavoro verrà impostata sull'area client del controllo.

Osservazioni:

Questa funzione membro implementa il comportamento della macro Win32, ListView_SetWorkAreas, come descritto in Windows SDK.

Esempio

// Remove all working areas.
m_myListCtrl.SetWorkAreas(0, NULL);

CListCtrl::SortGroups

Usa una funzione di confronto definita dall'applicazione per ordinare i gruppi in base all'ID all'interno di un controllo visualizzazione elenco.

BOOL SortGroups(
    PFNLVGROUPCOMPARE _pfnGroupCompare,
    LPVOID _plv);

Parametri

_pfnGroupCompare
Puntatore alla funzione di confronto del gruppo.

_plv
Puntatore void.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Osservazioni:

Questa funzione membro emula la funzionalità del LVM_SORTGROUPS messaggio, come descritto in Windows SDK.

CListCtrl::SortItems

Ordina gli elementi della visualizzazione elenco usando una funzione di confronto definita dall'applicazione.

BOOL SortItems(
    PFNLVCOMPARE pfnCompare,
    DWORD_PTR dwData);

Parametri

pfnCompare
[in] Indirizzo della funzione di confronto definita dall'applicazione.

L'operazione di ordinamento chiama la funzione di confronto ogni volta che è necessario determinare l'ordine relativo di due elementi dell'elenco. La funzione di confronto deve essere un membro statico di una classe o una funzione autonoma che non è un membro di alcuna classe.

dwData
[in] Valore definito dall'applicazione passato alla funzione di confronto.

Valore restituito

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

Osservazioni:

Questo metodo modifica l'indice di ogni elemento in modo da riflettere la nuova sequenza.

La funzione di confronto, pfnCompare, ha il formato seguente:

int CALLBACK CompareFunc(LPARAM lParam1,
    LPARAM lParam2,
    LPARAM lParamSort);

La funzione di confronto 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 uguali.

Il lParam1 parametro è il valore a 32 bit (a 64 bit se si esegue la compilazione per x64) associato al primo elemento confrontato e il lParam2 parametro è il valore associato al secondo elemento. Questi sono i valori specificati nel lParam membro della struttura degli elementi LVITEM quando sono stati inseriti nell'elenco. Il lParamSort parametro è uguale al dwData valore .

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

Esempio

Di seguito è riportata una semplice funzione di confronto che determina l'ordinamento degli elementi in base ai relativi lParam valori.

// Sort items by associated lParam
int CALLBACK CListCtrlDlg::MyCompareProc(LPARAM lParam1, LPARAM lParam2,
    LPARAM lParamSort)
{
    UNREFERENCED_PARAMETER(lParamSort);
    return (int)(lParam1 - lParam2);
}

// Sort the items by passing in the comparison function.
void CListCtrlDlg::Sort()
{
    m_myListCtrl.SortItems(&CListCtrlDlg::MyCompareProc, 0);
}

CListCtrl::SortItemsEx

Ordina gli elementi del controllo visualizzazione elenco corrente usando una funzione di confronto definita dall'applicazione.

BOOL SortItemsEx(
    PFNLVCOMPARE pfnCompare,
    DWORD_PTR dwData);

Parametri

pfnCompare
[in] Indirizzo della funzione di confronto definita dall'applicazione. L'operazione di ordinamento chiama la funzione di confronto ogni volta che è necessario determinare l'ordine relativo di due elementi dell'elenco. La funzione di confronto deve essere un membro statico di una classe o una funzione autonoma che non è un membro di alcuna classe.

dwData
[in] Valore definito dall'applicazione passato alla funzione di confronto.

Valore restituito

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

Osservazioni:

Questo metodo modifica l'indice di ogni elemento in modo da riflettere la nuova sequenza.

La funzione di confronto, pfnCompare, ha il formato seguente:

int CALLBACK CompareFunc(LPARAM lParam1,
    LPARAM lParam2,
    LPARAM lParamSort);

Questo messaggio è simile LVM_SORTITEMSa , ad eccezione del tipo di informazioni passate alla funzione di confronto. lParam1 In LVM_SORTITEMSe lParam2 sono i valori degli elementi da confrontare. In LVM_SORTITEMSEXè l'indice corrente del primo elemento da confrontare ed lParam2 è l'indice corrente del secondo lParam1 elemento. È possibile inviare un LVM_GETITEMTEXT messaggio per recuperare altre informazioni su un elemento.

La funzione di confronto 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 uguali.

Nota

Durante il processo di ordinamento, il contenuto della visualizzazione elenco è instabile. Se la funzione di callback invia messaggi al controllo di visualizzazione elenco diverso da LVM_GETITEM, i risultati sono imprevedibili.

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

Esempio

Il primo esempio di codice definisce una variabile, m_listCtrl, usata per accedere al controllo di visualizzazione elenco corrente. Questa variabile viene usata nell'esempio riportato di seguito.

public:
    // Variable used to access the list control.
    CListCtrl m_listCtrl;

Nell'esempio di codice successivo viene illustrato il SortItemEx metodo . In una sezione precedente di questo esempio di codice è stato creato un controllo visualizzazione elenco che visualizza due colonne denominate "ClientID" e "Grade" in una visualizzazione report. Nell'esempio di codice seguente la tabella viene ordinata usando i valori nella colonna "Grade".

// The ListCompareFunc() method is a global function used by SortItemEx().
int CALLBACK ListCompareFunc(
                             LPARAM lParam1,
                             LPARAM lParam2,
                             LPARAM lParamSort)
{
    CListCtrl* pListCtrl = (CListCtrl*) lParamSort;
    CString    strItem1 = pListCtrl->GetItemText(static_cast<int>(lParam1), 1);
    CString    strItem2 = pListCtrl->GetItemText(static_cast<int>(lParam2), 1)
    int x1 = _tstoi(strItem1.GetBuffer());
    int x2 = _tstoi(strItem2.GetBuffer());
    int result = 0;
    if ((x1 - x2) < 0)
        result = -1;
    else if ((x1 - x2) == 0)
        result = 0;
    else
        result = 1;

    return result;
}

void CCListCtrl_s2Dlg::OnBnClickedButton1()
{
    // SortItemsEx
    m_listCtrl.SortItemsEx( ListCompareFunc, (LPARAM)&m_listCtrl );
}

CListCtrl::SubItemHitTest

Determina quale elemento della visualizzazione elenco, se disponibile, si trova in una determinata posizione.

int SubItemHitTest(LPLVHITTESTINFO pInfo);

Parametri

pInfo
Puntatore alla LVHITTESTINFO struttura.

Valore restituito

Indice in base uno dell'elemento, o dell'elemento secondario, sottoposto a test (se presente) o -1 in caso contrario.

Osservazioni:

Questa funzione membro implementa il comportamento della macro Win32, ListView_SubItemHitTest, come descritto in Windows SDK.

Esempio

void CListCtrlDlg::OnDblClk(NMHDR* pNMHDR, LRESULT* pResult)
{
    UNREFERENCED_PARAMETER(pResult);
    LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pNMHDR;
    LVHITTESTINFO lvhti;

    // Clear the subitem text the user clicked on.
    lvhti.pt = pia->ptAction;
    m_myListCtrl.SubItemHitTest(&lvhti);

    if (lvhti.flags & LVHT_ONITEMLABEL)
    {
        m_myListCtrl.SetItemText(lvhti.iItem, lvhti.iSubItem, NULL);
    }
}

CListCtrl::Update

Forza il controllo visualizzazione elenco a ridipingere l'elemento specificato da nItem.

BOOL Update(int nItem);

Parametri

nItem
Indice dell'elemento da aggiornare.

Valore restituito

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

Osservazioni:

Questa funzione dispone anche il controllo visualizzazione elenco se ha lo LVS_AUTOARRANGE stile.

Esempio

Vedere l'esempio per CListCtrl::GetSelectedCount.

Vedi anche

MFC Sample ROWLIST
CWnd Classe
Grafico della gerarchia
CImageList Classe