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 UsingCListCtrl
: 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 CListCtrl
di : 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 CListCtrl
di : 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::InsertItem
e 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à
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 lpszText
punta .
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 ilLVIS_DROPHILITED
flag di stato impostato.LVNI_FOCUSED
L'elemento ha ilLVIS_FOCUSED
flag di stato impostato.LVNI_SELECTED
L'elemento ha ilLVIS_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 lpsz
cui 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 aLVIR_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_GETTOOLTIPS
Win32 , 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_ABOVE
valori , LVHT_BELOW
, LVHT_TOLEFT
e 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_ONITEMICON
valori , LVHT_ONITEMLABEL
e 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_RIGHT
o 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_OWNERDRAW
ad 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 NULL
con 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
IlpszText
membro o illpszItem
parametro è l'indirizzo di una stringa con terminazione Null. IlcchTextMax
membro viene ignorato.LVIF_STATE
IlstateMask
membro onStateMask
il parametro specifica gli stati dell'elemento da modificare e il membro onState
ilstate
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_SetItemCountEx
come 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_SETTOOLTIPS
Win32 , 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 lpRect
cui 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_SORTITEMS
a , ad eccezione del tipo di informazioni passate alla funzione di confronto. lParam1
In LVM_SORTITEMS
e 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