CListCtrl-Klasse

Kapselt die Funktionalität eines Listenansichtsteuerelements, das eine Auflistung von Elementen anzeigt, von denen jedes aus einem Symbol (aus einer Bildliste) und einer Bezeichnung besteht.

Syntax

class CListCtrl : public CWnd

Member

Öffentliche Konstruktoren

Name Beschreibung
CListCtrl::CListCtrl Erstellt ein CListCtrl-Objekt.

Öffentliche Methoden

Name Beschreibung
CListCtrl::ApproximateViewRect Bestimmt die Breite und Höhe, die zum Anzeigen der Elemente eines Listenansichtssteuerelements erforderlich ist.
CListCtrl::Arrange Richtet Elemente in einem Raster aus.
CListCtrl::CancelEditLabel Bricht den Textbearbeitungsvorgang des Elements ab.
CListCtrl::Create Erstellt ein Listensteuerelement und fügt es an ein CListCtrl Objekt an.
CListCtrl::CreateDragImage Erstellt eine Ziehbildliste für ein angegebenes Element.
CListCtrl::CreateEx Erstellt ein Listensteuerelement mit den angegebenen erweiterten Windows-Formatvorlagen und fügt es an ein CListCtrl Objekt an.
CListCtrl::DeleteAllItems Löscht alle Elemente aus dem Steuerelement.
CListCtrl::DeleteColumn Löscht eine Spalte aus dem Listenansichtssteuerelement.
CListCtrl::DeleteItem Löscht ein Element aus dem Steuerelement.
CListCtrl::DrawItem Wird aufgerufen, wenn sich ein visueller Aspekt eines Besitzer-Draw-Steuerelements ändert.
CListCtrl::EditLabel Beginnt mit der direkten Bearbeitung des Texts eines Elements.
CListCtrl::EnableGroupView Aktiviert oder deaktiviert, ob die Elemente in einem Listenansichtssteuerelement als Gruppe angezeigt werden.
CListCtrl::EnsureVisible Stellt sicher, dass ein Element sichtbar ist.
CListCtrl::FindItem Sucht nach einem Listenansichtselement mit angegebenen Merkmalen.
CListCtrl::GetBkColor Ruft die Hintergrundfarbe eines Listenansichtssteuerelements ab.
CListCtrl::GetBkImage Ruft das aktuelle Hintergrundbild eines Listenansichtssteuerelements ab.
CListCtrl::GetCallbackMask Ruft das Rückrufformat für ein Listenansichtssteuerelement ab.
CListCtrl::GetCheck Ruft den aktuellen Anzeigestatus des Zustandsbilds ab, das einem Element zugeordnet ist.
CListCtrl::GetColumn Ruft die Attribute der Spalte eines Steuerelements ab.
CListCtrl::GetColumnOrderArray Ruft die Spaltenreihenfolge (von links nach rechts) eines Listenansichtssteuerelements ab.
CListCtrl::GetColumnWidth Ruft die Breite einer Spalte in der Berichtsansicht oder Listenansicht ab.
CListCtrl::GetCountPerPage Berechnet die Anzahl der Elemente, die vertikal in ein Listenansichtssteuerelement passen können.
CListCtrl::GetEditControl Ruft das Handle des Bearbeitungssteuerelements ab, das zum Bearbeiten des Texts eines Elements verwendet wird.
CListCtrl::GetEmptyText Ruft die anzuzeigende Zeichenfolge ab, wenn das aktuelle Listenansicht-Steuerelement leer ist.
CListCtrl::GetExtendedStyle Ruft die aktuellen erweiterten Formatvorlagen eines Listenansichtssteuerelements ab.
CListCtrl::GetFirstSelectedItemPosition Ruft die Position des ersten ausgewählten Listenansichtselements in einem Listenansichtssteuerelement ab.
CListCtrl::GetFocusedGroup Ruft die Gruppe ab, die den Tastaturfokus im aktuellen Listenansicht-Steuerelement hat.
CListCtrl::GetGroupCount Ruft die Anzahl der Gruppen im aktuellen Listenansicht-Steuerelement ab.
CListCtrl::GetGroupInfo Ruft die Informationen für eine angegebene Gruppe des Listenansichtssteuerelements ab.
CListCtrl::GetGroupInfoByIndex Ruft Informationen zu einer angegebenen Gruppe im aktuellen Listenansicht-Steuerelement ab.
CListCtrl::GetGroupMetrics Ruft die Metriken einer Gruppe ab.
CListCtrl::GetGroupRect Ruft das umgebende Rechteck für eine angegebene Gruppe im aktuellen Listenansicht-Steuerelement ab.
CListCtrl::GetGroupState Ruft den Status für eine angegebene Gruppe im aktuellen Listenansicht-Steuerelement ab.
CListCtrl::GetHeaderCtrl Ruft das Kopfzeilensteuerelement eines Listenansichtssteuerelements ab.
CListCtrl::GetHotCursor Ruft den Cursor ab, der verwendet wird, wenn die hot tracking für ein Listenansichtssteuerelement aktiviert ist.
CListCtrl::GetHotItem Ruft das Listenansichtselement ab, das sich derzeit unter dem Cursor befindet.
CListCtrl::GetHoverTime Ruft die aktuelle Hoverzeit eines Listenansichtssteuerelements ab.
CListCtrl::GetImageList Ruft das Handle einer Bildliste ab, die für Zeichnungslistenansichtselemente verwendet wird.
CListCtrl::GetInsertMark Ruft die aktuelle Position der Einfügemarke ab.
CListCtrl::GetInsertMarkColor Ruft die aktuelle Farbe der Einfügemarke ab.
CListCtrl::GetInsertMarkRect Ruft das Rechteck ab, das die Einfügemarke begrenzt.
CListCtrl::GetItem Ruft die Attribute eines Listenansichtselements ab.
CListCtrl::GetItemCount Ruft die Anzahl der Elemente in einem Listenansichtssteuerelement ab.
CListCtrl::GetItemData Ruft den anwendungsspezifischen Wert ab, der einem Element zugeordnet ist.
CListCtrl::GetItemIndexRect Ruft das umgebende Rechteck für alle oder einen Teil eines Unterelements im aktuellen Listenansicht-Steuerelement ab.
CListCtrl::GetItemPosition Ruft die Position eines Listenansichtselements ab.
CListCtrl::GetItemRect Ruft das umgebende Rechteck für ein Element ab.
CListCtrl::GetItemSpacing Berechnet den Abstand zwischen Elementen im aktuellen Listenansicht-Steuerelement.
CListCtrl::GetItemState Ruft den Status eines Listenansichtselements ab.
CListCtrl::GetItemText Ruft den Text eines Listenansichtselements oder -unterelements ab.
CListCtrl::GetNextItem Sucht nach einem Listenansichtselement mit angegebenen Eigenschaften und mit der angegebenen Beziehung zu einem bestimmten Element.
CListCtrl::GetNextItemIndex Ruft den Index des Elements im aktuellen Listenansicht-Steuerelement ab, das über einen angegebenen Satz von Eigenschaften verfügt.
CListCtrl::GetNextSelectedItem Ruft den Index einer Listenansichtselementposition und die Position des nächsten ausgewählten Listenansichtselements zum Durchlaufen ab.
CListCtrl::GetNumberOfWorkAreas Ruft die aktuelle Anzahl der Arbeitsbereiche für ein Listenansichtssteuerelement ab.
CListCtrl::GetOrigin Ruft den aktuellen Ansichtsursprung für ein Listenansichtssteuerelement ab.
CListCtrl::GetOutlineColor Ruft die Farbe des Rahmens eines Listenansichtssteuerelements ab.
CListCtrl::GetSelectedColumn Ruft den Index der aktuell ausgewählten Spalte im Listensteuerelement ab.
CListCtrl::GetSelectedCount Ruft die Anzahl der ausgewählten Elemente im Listenansichtssteuerelement ab.
CListCtrl::GetSelectionMark Ruft das Auswahlzeichen eines Listenansichtssteuerelements ab.
CListCtrl::GetStringWidth Bestimmt die minimale Spaltenbreite, die zum Anzeigen aller einer bestimmten Zeichenfolge erforderlich ist.
CListCtrl::GetSubItemRect Ruft das umgebende Rechteck eines Elements in einem Listenansichtssteuerelement ab.
CListCtrl::GetTextBkColor Ruft die Texthintergrundfarbe eines Listenansichtssteuerelements ab.
CListCtrl::GetTextColor Ruft die Textfarbe eines Listenansichtssteuerelements ab.
CListCtrl::GetTileInfo Ruft Informationen zu einer Kachel in einem Listenansichtssteuerelement ab.
CListCtrl::GetTileViewInfo Ruft Informationen zu einem Listenansichtssteuerelement in der Kachelansicht ab.
CListCtrl::GetToolTips Ruft das QuickInfo-Steuerelement ab, das vom Listenansichtssteuerelement zum Anzeigen von QuickInfos verwendet wird.
CListCtrl::GetTopIndex Ruft den Index des obersten sichtbaren Elements ab.
CListCtrl::GetView Ruft die Ansicht des Listenansicht-Steuerelements ab.
CListCtrl::GetViewRect Ruft das umgebende Rechteck aller Elemente im Listenansichtssteuerelement ab.
CListCtrl::GetWorkAreas Ruft die aktuellen Arbeitsbereiche eines Listenansichtssteuerelements ab.
CListCtrl::HasGroup Bestimmt, ob das Listenansichtssteuerelement über die angegebene Gruppe verfügt.
CListCtrl::HitTest Bestimmt, welches Listenansichtselement an einer angegebenen Position ist.
CListCtrl::InsertColumn Fügt eine neue Spalte in ein Listenansichtssteuerelement ein.
CListCtrl::InsertGroup Fügt eine Gruppe in das Listenansichtssteuerelement ein.
CListCtrl::InsertGroupSorted Fügt die angegebene Gruppe in eine sortierte Liste von Gruppen ein.
CListCtrl::InsertItem Fügt ein neues Element in ein Listenansichtssteuerelement ein.
CListCtrl::InsertMarkHitTest Ruft die Einfügemarke ab, die einem angegebenen Punkt am nächsten kommt.
CListCtrl::IsGroupViewEnabled Bestimmt, ob die Gruppenansicht für ein Listenansichtssteuerelement aktiviert ist.
CListCtrl::IsItemVisible Gibt an, ob ein angegebenes Element im aktuellen Listenansicht-Steuerelement sichtbar ist.
CListCtrl::MapIDToIndex Karten der eindeutigen ID eines Elements im aktuellen Listenansicht-Steuerelement zu einem Index.
CListCtrl::MapIndexToID Karten den Index eines Elements im aktuellen Listenansicht-Steuerelement auf eine eindeutige ID zurück.
CListCtrl::MoveGroup Verschiebt die angegebene Gruppe.
CListCtrl::MoveItemToGroup Verschiebt die angegebene Gruppe in den angegebenen nullbasierten Index des Listenansichtssteuerelements.
CListCtrl::RedrawItems Erzwingt ein Listenansichtssteuerelement, einen Bereich von Elementen neu zu überschreiben.
CListCtrl::RemoveAllGroups Entfernt alle Gruppen aus einem Listenansichtssteuerelement.
CListCtrl::RemoveGroup Entfernt die angegebene Gruppe aus dem Listenansichtssteuerelement.
CListCtrl::Scroll Scrollt den Inhalt eines Listenansichtssteuerelements.
CListCtrl::SetBkColor Legt die Hintergrundfarbe des Listenansichtssteuerelements fest.
CListCtrl::SetBkImage Legt das aktuelle Hintergrundbild eines Listenansichtssteuerelements fest.
CListCtrl::SetCallbackMask Legt das Rückrufformat für ein Listenansichtssteuerelement fest.
CListCtrl::SetCheck Legt den aktuellen Anzeigestatus des Zustandsbilds fest, das einem Element zugeordnet ist.
CListCtrl::SetColumn Legt die Attribute einer Listenansichtsspalte fest.
CListCtrl::SetColumnOrderArray Legt die Spaltenreihenfolge (von links nach rechts) eines Listenansichtssteuerelements fest.
CListCtrl::SetColumnWidth Ändert die Breite einer Spalte in der Berichtsansicht oder Listenansicht.
CListCtrl::SetExtendedStyle Legt die aktuellen erweiterten Formatvorlagen eines Listenansichtssteuerelements fest.
CListCtrl::SetGroupInfo Legt die Informationen für die angegebene Gruppe eines Listenansichtssteuerelements fest.
CListCtrl::SetGroupMetrics Legt die Gruppenmetriken eines Listenansichtssteuerelements fest.
CListCtrl::SetHotCursor Legt den Cursor fest, der verwendet wird, wenn die Hot Tracking für ein Listenansichtssteuerelement aktiviert ist.
CListCtrl::SetHotItem Legt das aktuelle Hot-Element eines Listenansichtssteuerelements fest.
CListCtrl::SetHoverTime Legt die aktuelle Hoverzeit eines Listenansichtssteuerelements fest.
CListCtrl::SetIconSpacing Legt den Abstand zwischen Symbolen in einem Listenansichtssteuerelement fest.
CListCtrl::SetImageList Weist einem Listenansichtssteuerelement eine Bildliste zu.
CListCtrl::SetInfoTip Legt den QuickInfo-Text fest.
CListCtrl::SetInsertMark Legt die Einfügemarke auf die definierte Position fest.
CListCtrl::SetInsertMarkColor Legt die Farbe der Einfügemarke fest.
CListCtrl::SetItem Legt einige oder alle Attribute eines Listenansichtselements fest.
CListCtrl::SetItemCount Bereitet ein Listenansichtssteuerelement zum Hinzufügen einer großen Anzahl von Elementen vor.
CListCtrl::SetItemCountEx Legt die Elementanzahl für ein virtuelles Listenansichtssteuerelement fest.
CListCtrl::SetItemData Legt den anwendungsspezifischen Wert des Elements fest.
CListCtrl::SetItemIndexState Legt den Status eines Elements im aktuellen Listenansicht-Steuerelement fest.
CListCtrl::SetItemPosition Verschiebt ein Element an eine angegebene Position in einem Listenansichtssteuerelement.
CListCtrl::SetItemState Ändert den Status eines Elements in einem Listenansichtssteuerelement.
CListCtrl::SetItemText Ändert den Text eines Listenansichtselements oder Unterelements.
CListCtrl::SetOutlineColor Legt die Farbe des Rahmens eines Listenansichtssteuerelements fest.
CListCtrl::SetSelectedColumn Legt die ausgewählte Spalte des Listenansichtssteuerelements fest.
CListCtrl::SetSelectionMark Legt das Auswahlzeichen eines Listenansichtssteuerelements fest.
CListCtrl::SetTextBkColor Legt die Hintergrundfarbe von Text in einem Listenansichtssteuerelement fest.
CListCtrl::SetTextColor Legt die Textfarbe eines Listenansichtssteuerelements fest.
CListCtrl::SetTileInfo Legt die Informationen für eine Kachel des Listenansichtssteuerelements fest.
CListCtrl::SetTileViewInfo Legt Informationen fest, die ein Listenansichtssteuerelement in der Kachelansicht verwendet.
CListCtrl::SetToolTips Legt das QuickInfo-Steuerelement fest, das vom Listenansichtssteuerelement zum Anzeigen von QuickInfos verwendet wird.
CListCtrl::SetView Legt die Ansicht des Listenansichtssteuerelements fest.
CListCtrl::SetWorkAreas Legt den Bereich fest, in dem Symbole in einem Listenansichtssteuerelement angezeigt werden können.
CListCtrl::SortGroups Sortiert die Gruppen eines Listenansichtssteuerelements mit einer benutzerdefinierten Funktion.
CListCtrl::SortItems Sortiert Listenansichtselemente mithilfe einer anwendungsdefinierten Vergleichsfunktion.
CListCtrl::SortItemsEx Sortiert Listenansichtselemente mithilfe einer anwendungsdefinierten Vergleichsfunktion.
CListCtrl::SubItemHitTest Bestimmt, welches Listenansichtselement an einer bestimmten Position vorhanden ist.
CListCtrl::Update Erzwingt das Steuerelement, ein angegebenes Element neu zu überschreiben.

Hinweise

Zusätzlich zu einem Symbol und einer Beschriftung kann jedes Element Informationen in Spalten rechts neben dem Symbol und der Beschriftung anzeigen. Dieses Steuerelement (und daher die Klasse) ist nur für Programme verfügbar, die CListCtrl unter Windows 95/98 und Windows NT, Version 3.51 und höher ausgeführt werden.

Es folgt eine kurze Übersicht über den CListCtrl Kurs. Eine ausführliche, konzeptionelle Diskussion finden Sie unter Verwenden CListCtrl und Steuerelemente.

Ansichten

Listenansichtssteuerelemente können ihre Inhalte auf vier verschiedene Arten anzeigen, die als "Ansichten" bezeichnet werden.

  • Symbolansicht

    Jedes Element wird als Symbol in voller Größe (32 x 32 Pixel) mit einer Beschriftung darunter angezeigt. Der Benutzer kann die Elemente an eine beliebige Position im Listenansichtsfenster ziehen.

  • Kleine Symbolansicht

    Jedes Element wird als kleines Symbol (16 x 16 Pixel) mit der Beschriftung rechts daneben angezeigt. Der Benutzer kann die Elemente an eine beliebige Position im Listenansichtsfenster ziehen.

  • Listenansicht

    Jedes Element wird als kleines Symbol mit einer Beschriftung rechts daneben angezeigt. Elemente werden in Spalten angeordnet und können nicht an eine beliebige Position im Listenansichtsfenster gezogen werden.

  • Berichtsanzeige

    Jedes Element wird in einer eigenen Zeile mit zusätzlichen Informationen angezeigt, die in Spalten rechts angeordnet sind. Die spalte ganz links enthält das kleine Symbol und die Beschriftung, und nachfolgende Spalten enthalten Unterelemente, wie von der Anwendung angegeben. Ein eingebettetes Header-Steuerelement (Klasse CHeaderCtrl) implementiert diese Spalten. Weitere Informationen über das Kopfzeilensteuerelement und die Spalten in einer Berichtsansicht finden Sie unter VerwendenCListCtrl: Hinzufügen von Spalten zum Steuerelement (Berichtsansicht).

Die Formatvorlage der aktuellen Listenansicht des Steuerelements bestimmt die aktuelle Ansicht. Weitere Informationen zu diesen Formatvorlagen und deren Verwendung finden Sie unter Using CListCtrl: Changing List Control Styles.

Erweiterte Stile

Zusätzlich zu den Standardlistenstilen unterstützt die Klasse CListCtrl eine große Reihe erweiterter Stile, die eine erweiterte Funktionalität bieten. Einige Beispiele für diese Funktionalität sind:

  • Mauszeigerauswahl

    Wenn diese Option aktiviert ist, wird die automatische Auswahl eines Elements ermöglicht, wenn der Cursor das Element für einen bestimmten Zeitraum erneut Standard.

  • Virtuelle Listenansichten

    Wenn diese Option aktiviert ist, kann das Steuerelement bis zu DWORD-Elemente unterstützen. Dies ist möglich, indem der Aufwand für die Verwaltung von Elementdaten in der Anwendung platziert wird. Mit Ausnahme der Elementauswahl- und Fokusinformationen müssen alle Elementinformationen von der Anwendung verwaltet werden. Weitere Informationen finden Sie unter Verwenden: CListCtrlVirtuelle Listensteuerelemente.

  • Ein- und zweiklickaktivierung

    Wenn diese Option aktiviert ist, können Sie die Hot Tracking (automatische Hervorhebung des Elementtexts) und die Aktivierung des markierten Elements mit einem oder zwei Klicks ermöglichen.

  • Ziehen und Ablegen der Spaltenreihenfolge

    Wenn diese Option aktiviert ist, können Sie die Neuanordnung von Spalten in einem Listenansichtssteuerelement durch Ziehen und Ablegen ermöglichen. Nur in der Berichtsansicht verfügbar.

Informationen zur Verwendung dieser neuen erweiterten Formatvorlagen finden Sie unter Using CListCtrl: Changing List Control Styles.

Elemente und Unterelemente

Jedes Element in einem Listenansichtssteuerelement besteht aus einem Symbol (aus einer Bildliste), einer Beschriftung, einem aktuellen Zustand und einem anwendungsdefinierten Wert (als "Elementdaten" bezeichnet). Ein oder mehrere Unterelemente können auch jedem Element zugeordnet werden. Ein Unterelement ist eine Zeichenfolge, die in der Berichtsansicht rechts neben dem Symbol und der Beschriftung eines Elements in einer Spalte angezeigt werden kann. Alle Elemente in einem Listenansichtssteuerelement müssen dieselbe Anzahl von Unterelementen aufweisen.

Die Klasse CListCtrl bietet mehrere Funktionen zum Einfügen, Löschen, Suchen und Ändern dieser Elemente. Weitere Informationen finden Sie unter CListCtrl::GetItem, CListCtrl::InsertItemund CListCtrl::FindItem, und , Hinzufügen von Elementen zum Steuerelement und Scrollen, Anordnen, Sortieren und Suchen in Listensteuerelementen.

Standardmäßig ist das Listenansichtssteuerelement für das Speichern von Symbol- und Textattributen eines Elements verantwortlich. Zusätzlich zu diesen Elementtypen unterstützt die Klasse CListCtrl jedoch "Rückrufelemente". Ein "Rückrufelement" ist ein Listenansichtselement, für das die Anwendung anstelle des Steuerelements den Text, das Symbol oder beides speichert. Ein Rückrufformat wird verwendet, um anzugeben, welche Elementattribute (Text und/oder Symbol) von der Anwendung bereitgestellt werden. Wenn eine Anwendung Rückrufelemente verwendet, muss sie die Text- und/oder Symbolattribute bei Bedarf bereitstellen können. Rückrufelemente sind hilfreich, wenn Ihre Anwendung bereits einige dieser Informationen Standard enthält. Weitere Informationen finden Sie unter Verwenden CListCtrl: Rückrufelemente und die Rückrufmaske.

Bildlisten

Die Symbole, Kopfzeilenelementbilder und anwendungsdefinierte Zustände für Listenansichtselemente sind in mehreren Bildlisten (implementiert durch Klasse CImageList) enthalten, die Sie erstellen und dem Listenansichtssteuerelement zuweisen. Jedes Listenansichtssteuerelement kann bis zu vier verschiedene Arten von Bildlisten aufweisen:

  • Großes Symbol

    Wird in der Symbolansicht für Symbole in voller Größe verwendet.

  • Kleines Symbol

    Wird in den kleinen Symbol-, Listen- und Berichtsansichten für kleinere Versionen der Symbole verwendet, die in der Symbolansicht verwendet werden.

  • Anwendungsdefinierter Zustand

    Enthält Zustandsbilder, die neben dem Symbol eines Elements angezeigt werden, um einen anwendungsdefinierten Zustand anzugeben.

  • Headerelement

    Wird in der Berichtsansicht für kleine Bilder verwendet, die in jedem Kopfzeilensteuerelementelement angezeigt werden.

Standardmäßig zerstört ein Listenansichtssteuerelement die ihm zugewiesenen Bildlisten, wenn es zerstört wird; Der Entwickler kann dieses Verhalten jedoch anpassen, indem jede Bildliste zerstört wird, wenn sie nicht mehr verwendet wird, wie von der Anwendung bestimmt. Weitere Informationen finden Sie unter Verwenden CListCtrl: Listenelemente und Bildlisten.

Vererbungshierarchie

CObject

CCmdTarget

CWnd

CListCtrl

Anforderungen

Headerafxcmn.h:

CListCtrl::ApproximateViewRect

Bestimmt die Breite und Höhe, die zum Anzeigen der Elemente eines Listenansichtssteuerelements erforderlich ist.

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

Parameter

sz
Die vorgeschlagenen Dimensionen des Steuerelements in Pixeln. Wenn keine Dimensionen angegeben werden, verwendet das Framework die aktuellen Werte für Breite oder Höhe des Steuerelements.

iCount
Die Anzahl der Elemente, die im Steuerelement angezeigt werden sollen. Übergeben Sie -1, um die Gesamtanzahl der Elemente zu verwenden, die sich derzeit im Steuerelement befindet.

Rückgabewert

Ein CSize Objekt, das die ungefähre Breite und Höhe enthält, die zum Anzeigen der Elemente in Pixeln erforderlich ist.

Hinweise

Diese Memberfunktion implementiert das Verhalten des Win32-Makros, ListView_ApproximateViewRectwie im Windows SDK beschrieben.

CListCtrl::Arrange

Positioniert Elemente in einer Symbolansicht so, dass sie an einem Raster ausgerichtet werden.

BOOL Arrange(UINT nCode);

Parameter

nCode
Gibt die Ausrichtungsart für die Elemente an. Es kann sich um einen der folgenden Werte handeln:

  • LVA_ALIGNLEFT Richtet Elemente am linken Rand des Fensters aus.
  • LVA_ALIGNTOP Richtet Elemente am oberen Rand des Fensters aus.
  • LVA_DEFAULT Richtet Elemente entsprechend den aktuellen Ausrichtungsformaten der Listenansicht (Standardwert) aus.
  • LVA_SNAPTOGRID Snaps all icons to the nearest grid position.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Hinweise

Der nCode Parameter gibt die Ausrichtungsart an.

Beispiel

// 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

Bricht den Textbearbeitungsvorgang des Elements ab.

void CancelEditLabel();

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_CANCELEDITLABEL Nachricht, wie im Windows SDK beschrieben.

CListCtrl::CListCtrl

Erstellt ein CListCtrl-Objekt.

CListCtrl();

CListCtrl::Create

Erstellt ein Listensteuerelement und fügt es an ein CListCtrl Objekt an.

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

Parameter

dwStyle
Gibt die Formatvorlage des Listensteuerelements an. Wenden Sie eine beliebige Kombination von Listensteuerelementformatvorlagen auf das Steuerelement an. Eine vollständige Liste dieser Formatvorlagen finden Sie unter Listenansichtsfensterformate im Windows SDK. Festlegen erweiterter Formatvorlagen, die für ein Steuerelement spezifisch sind.SetExtendedStyle

rect
Gibt die Größe und Position des Listensteuerelements an. Dabei kann es sich um ein CRect Objekt oder eine RECT Struktur handeln.

pParentWnd
Gibt das übergeordnete Fenster des Listensteuerelements an, in der Regel ein CDialog. Er darf nicht NULL sein.

nID
Gibt die ID des Listensteuerelements an.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Hinweise

Sie erstellen eine CListCtrl in zwei Schritten. Rufen Sie zuerst den Konstruktor auf, und rufen Sie ihn dann auf Create, wodurch das Listenansichtssteuerelement erstellt und an das CListCtrl Objekt angefügt wird.

Um erweiterte Windows-Formatvorlagen auf das Listensteuerelementobjekt anzuwenden, rufen Sie CreateEx anstelle von Create.

Beispiel

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

CListCtrl::CreateEx

Erstellt ein Steuerelement (ein untergeordnetes Fenster) und ordnet es dem Objekt zu CListCtrl .

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

Parameter

dwExStyle
Gibt die erweiterte Formatvorlage des zu erstellenden Steuerelements an. Eine Liste der erweiterten Windows-Stile finden Sie im dwExStyle-Parameter für CreateWindowEx das Windows SDK.

dwStyle
Gibt die Formatvorlage des Listensteuerelements an. Wenden Sie eine beliebige Kombination von Listensteuerelementformatvorlagen auf das Steuerelement an. Eine vollständige Liste dieser Formatvorlagen finden Sie unter Listenansicht-Fensterformatvorlagen im Windows SDK.

rect
Ein Verweis auf eine RECT Struktur, die die Größe und Position des zu erstellenden Fensters in Clientkoordinaten pParentWndbeschreibt.

pParentWnd
Ein Zeiger auf das Fenster, das das übergeordnete Steuerelement ist.

nID
Die Untergeordnete Fenster-ID des Steuerelements.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Verwenden Sie CreateEx anstelle von Create erweiterten Windows-Formatvorlagen, die durch die Erweiterte Formatvorlage WS_EX_von Windows angegeben werden.

CreateEx erstellt das Steuerelement mit den erweiterten Windows-Formatvorlagen, die durch dwExStyle. Rufen Sie auf SetExtendedStyle, um erweiterte Formatvorlagen für ein Steuerelement festzulegen. Verwenden Sie CreateEx z. B. zum Festlegen von Formatvorlagen wie WS_EX_CONTEXTHELP, aber zum SetExtendedStyle Festlegen von Formatvorlagen wie LVS_EX_FULLROWSELECT. Weitere Informationen finden Sie in den im Artikel "Erweiterte Listenansichtsformatvorlagen" im Windows SDK beschriebenen Formatvorlagen .

CListCtrl::CreateDragImage

Erstellt eine Ziehbildliste für das durch nItem.

CImageList* CreateDragImage(
    int nItem,
    LPPOINT lpPoint);

Parameter

*nItem*
Index des Elements, dessen Bildliste erstellt werden soll.

lpPoint
Adresse einer POINT Struktur, die die ursprüngliche Position der oberen linken Ecke des Bilds in Ansichtskoordinaten empfängt.

Rückgabewert

Ein Zeiger auf die Bildliste ziehen, wenn dies erfolgreich ist; andernfalls NULL.

Hinweise

Das CImageList Objekt ist dauerhaft, und Sie müssen es nach Abschluss löschen. Beispiel:

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

// do something

delete pImageList;

CListCtrl::DeleteAllItems

Löscht alle Elemente aus dem Listenansichtssteuerelement.

BOOL DeleteAllItems();

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Beispiel

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

CListCtrl::DeleteColumn

Löscht eine Spalte aus dem Listenansichtssteuerelement.

BOOL DeleteColumn(int nCol);

Parameter

nCol
Index der zu löschenden Spalte.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Beispiel

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

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

CListCtrl::DeleteItem

Löscht ein Element aus einem Listenansichtssteuerelement.

BOOL DeleteItem(int nItem);

Parameter

nItem
Gibt den Index des zu löschenden Elements an.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Beispiel

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

Wird vom Framework aufgerufen, wenn sich ein visueller Aspekt eines Besitzer-Zeichnen-Listenansicht-Steuerelements ändert.

virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);

Parameter

lpDrawItemStruct
Ein langer Zeiger auf eine DRAWITEMSTRUCT Struktur, die Informationen zum erforderlichen Zeichnungstyp enthält.

Hinweise

Das itemAction Element der DRAWITEMSTRUCT Struktur definiert die Zeichnungsaktion, die ausgeführt werden soll.

Standardmäßig führt diese Memberfunktion nichts aus. Überschreiben Sie diese Memberfunktion, um die Zeichnung für ein Besitzer-Draw-Objekt CListCtrl zu implementieren.

Die Anwendung sollte alle GDI-Objekte (Graphics Device Interface) wiederherstellen, die für den angezeigten Kontext ausgewählt lpDrawItemStruct sind, bevor diese Memberfunktion beendet wird.

CListCtrl::EditLabel

Beginnt mit der direkten Bearbeitung des Texts eines Elements.

CEdit* EditLabel(int nItem);

Parameter

nItem
Index des Listenansichtselements, das bearbeitet werden soll.

Rückgabewert

Bei erfolgreicher Ausführung zeigt ein Zeiger auf das CEdit Objekt, das zum Bearbeiten des Elementtexts verwendet wird; andernfalls NULL.

Hinweise

Ein Listenansichtssteuerelement mit dem LVS_EDITLABELS Fensterstil ermöglicht es einem Benutzer, Elementbeschriftungen an Ort und Stelle zu bearbeiten. Der Benutzer beginnt mit der Bearbeitung, indem er auf die Beschriftung eines Elements klickt, das den Fokus hat.

Verwenden Sie diese Funktion, um mit der direkten Bearbeitung des Texts des angegebenen Listenansichtselements zu beginnen.

Beispiel

// 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

Aktiviert oder deaktiviert, ob die Elemente in einem Listenansichtssteuerelement als Gruppe angezeigt werden.

LRESULT EnableGroupView(BOOL fEnable);

Parameter

fEnable
Gibt an, ob ein Listview-Steuerelement zum Gruppieren angezeigter Elemente aktiviert werden soll. TRUE zur Aktivierung der Gruppierung; FALSE um sie zu deaktivieren.

Rückgabewert

Gibt einen der folgenden Werte zurück:

  • 0 Die Möglichkeit, Listenansichtselemente als Gruppe anzuzeigen, ist bereits aktiviert oder deaktiviert.
  • 1 Der Status des Steuerelements wurde erfolgreich geändert.
  • -1 Fehler beim Vorgang.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_ENABLEGROUPVIEW Nachricht, wie im Windows SDK beschrieben.

CListCtrl::EnsureVisible

Stellt sicher, dass ein Listenansichtselement mindestens teilweise sichtbar ist.

BOOL EnsureVisible(
    int nItem,
    BOOL bPartialOK);

Parameter

nItem
Index des Listenansichtselements, das sichtbar sein soll.

bPartialOK
Gibt an, ob die teilweise Sichtbarkeit akzeptabel ist.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Hinweise

Das Listenansichtssteuerelement wird bei Bedarf gescrollt. Wenn der Parameter "bPartialOK " nicht null ist, tritt kein Bildlauf auf, wenn das Element teilweise sichtbar ist.

Beispiel

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

CListCtrl::FindItem

Sucht nach einem Listenansichtselement mit angegebenen Merkmalen.

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

Parameter

pFindInfo
Ein Zeiger auf eine LVFINDINFO Struktur, die Informationen zu dem Element enthält, nach dem gesucht werden soll.

nStart
Index des Elements, mit dem die Suche beginnen soll, oder -1, um von Anfang an zu beginnen. Das Element bei nStart der Suche wird ausgeschlossen, wenn nStart es nicht gleich -1 ist.

Rückgabewert

Der Index des Elements, wenn das Element erfolgreich ist oder andernfalls -1.

Hinweise

Der pFindInfo Parameter verweist auf eine LVFINDINFO Struktur, die Informationen enthält, die zum Suchen nach einem Listenansichtselement verwendet werden.

Beispiel

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

Ruft die Hintergrundfarbe eines Listenansichtssteuerelements ab.

COLORREF GetBkColor() const;

Rückgabewert

Ein 32-Bit-Wert, der zum Angeben einer RGB-Farbe verwendet wird.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::SetBkColor.

CListCtrl::GetBkImage

Ruft das aktuelle Hintergrundbild eines Listenansichtssteuerelements ab.

BOOL GetBkImage(LVBKIMAGE* plvbkImage) const;

Parameter

plvbkImage
Ein Zeiger auf eine LVBKIMAGE Struktur, die das aktuelle Hintergrundbild der Listenansicht enthält.

Rückgabewert

Gibt "nonzero" zurück, wenn dies erfolgreich ist, oder 0 andernfalls null.

Hinweise

Diese Methode implementiert das Verhalten des Win32-Makros, ListView_GetBkImagewie im Windows SDK beschrieben.

Beispiel

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

Ruft das Rückrufformat für ein Listenansichtssteuerelement ab.

UINT GetCallbackMask() const;

Rückgabewert

Das Rückrufformat des Listenansichtssteuerelements.

Hinweise

Ein "Rückrufelement" ist ein Listenansichtselement, für das die Anwendung anstelle des Steuerelements den Text, das Symbol oder beides speichert. Obwohl ein Listenansichtssteuerelement diese Attribute für Sie speichern kann, können Sie Rückrufelemente verwenden, wenn Ihre Anwendung bereits einige dieser Informationen Standard enthält. Das Rückrufformat gibt an, welche Elementstatusbits von der Anwendung Standard werden, und es gilt für das gesamte Steuerelement und nicht für ein bestimmtes Element. Das Rückrufformat ist standardmäßig null, d. h., das Steuerelement verfolgt alle Elementzustände. Wenn eine Anwendung Rückrufelemente verwendet oder ein Nichtzero-Rückrufformat angibt, muss sie in der Lage sein, Listenansichtselementattribute bei Bedarf anzugeben.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::SetCallbackMask.

CListCtrl::GetCheck

Ruft den aktuellen Anzeigestatus des Zustandsbilds ab, das einem Element zugeordnet ist.

BOOL GetCheck(int nItem) const;

Parameter

nItem
Der nullbasierte Index eines Listensteuerelementelements.

Rückgabewert

Nonzero, wenn das Element ausgewählt ist, andernfalls 0.

Hinweise

Diese Memberfunktion implementiert das Verhalten des Win32-Makros, ListView_GetCheckStatewie im Windows SDK beschrieben.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::SetCheck.

CListCtrl::GetColumn

Ruft die Attribute der Spalte eines Listenansichtssteuerelements ab.

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

Parameter

nCol
Index der Spalte, deren Attribute abgerufen werden sollen.

pColumn
Adresse einer LVCOLUMN Struktur, die die abzurufenden Informationen angibt und Informationen über die Spalte empfängt. Das mask Element gibt an, welche Spaltenattribute abgerufen werden sollen. Wenn das mask Element den LVCF_TEXT-Wert angibt, muss das pszText Element die Adresse des Puffers enthalten, der den Elementtext empfängt, und das cchTextMax Element muss die Größe des Puffers angeben.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Hinweise

Die LVCOLUMN Struktur enthält Informationen zu einer Spalte in der Berichtsansicht.

Beispiel

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

Ruft die Spaltenreihenfolge (von links nach rechts) eines Listenansichtssteuerelements ab.

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

Parameter

piArray
Ein Zeiger auf einen Puffer, der die Indexwerte der Spalten im Listenansichtssteuerelement enthält. Der Puffer muss groß genug sein, um die Gesamtanzahl der Spalten im Listenansichtssteuerelement zu enthalten.

iCount
Anzahl der Spalten im Listenansichtssteuerelement. Wenn dieser Parameter -1 ist, wird die Anzahl der Spalten automatisch vom Framework abgerufen.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Hinweise

Diese Memberfunktion implementiert das Verhalten des Win32-Makros, ListView_GetColumnOrderArraywie im Windows SDK beschrieben.

Beispiel

// 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

Ruft die Breite einer Spalte in der Berichtsansicht oder Listenansicht ab.

int GetColumnWidth(int nCol) const;

Parameter

nCol
Gibt den Index der Spalte an, deren Breite abgerufen werden soll.

Rückgabewert

Die Breite der durch nCol.

Beispiel

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

CListCtrl::GetCountPerPage

Berechnet die Anzahl der Elemente, die vertikal in den sichtbaren Bereich eines Listenansichtssteuerelements passen können, wenn sie sich in der Listenansicht oder Berichtsansicht befinden.

int GetCountPerPage() const;

Rückgabewert

Die Anzahl der Elemente, die vertikal in den sichtbaren Bereich eines Listenansichtssteuerelements passen können, wenn sie sich in der Listenansicht oder Berichtsansicht befinden.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::GetTopIndex.

CListCtrl::GetEditControl

Ruft das Handle des Bearbeitungssteuerelements ab, mit dem der Text eines Listenansichtselements bearbeitet wird.

CEdit* GetEditControl() const;

Rückgabewert

Bei erfolgreicher Ausführung zeigt ein Zeiger auf das CEdit Objekt, das zum Bearbeiten des Elementtexts verwendet wird; andernfalls NULL.

Beispiel

// 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

Ruft die anzuzeigende Zeichenfolge ab, wenn das aktuelle Listenansicht-Steuerelement leer ist.

CString GetEmptyText() const;

Rückgabewert

Ein CString Text, der den anzuzeigenden Text enthält, wenn das Steuerelement leer ist.

Hinweise

Diese Methode sendet die LVM_GETEMPTYTEXT Nachricht, die im Windows SDK beschrieben wird.

CListCtrl::GetExtendedStyle

Ruft die aktuellen erweiterten Formatvorlagen eines Listenansichtssteuerelements ab.

DWORD GetExtendedStyle();

Rückgabewert

Eine Kombination der erweiterten Formatvorlagen, die derzeit vom Listenansichtssteuerelement verwendet werden. Eine beschreibende Liste dieser erweiterten Formatvorlagen finden Sie im Artikel "Erweiterte Listenansichtsformatvorlagen" im Windows SDK.

Hinweise

Diese Memberfunktion implementiert das Verhalten des Win32-Makros, ListView_GetExtendedListViewStylewie im Windows SDK beschrieben.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::SetExtendedStyle.

CListCtrl::GetFirstSelectedItemPosition

Ruft die Position des ersten ausgewählten Elements im Listenansicht-Steuerelement ab.

POSITION GetFirstSelectedItemPosition() const;

Rückgabewert

Ein POSITION Wert, der für iterations- oder Objektzeigerabrufe verwendet werden kann; NULL wenn keine Elemente ausgewählt sind.

Beispiel

Im folgenden Codebeispiel wird die Verwendung dieser Funktion veranschaulicht.

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

Ruft die Gruppe ab, die den Tastaturfokus im aktuellen Listenansicht-Steuerelement hat.

int GetFocusedGroup() const;

Rückgabewert

Der Index der Gruppe, deren Status lautet, wenn eine solche Gruppe vorhanden ist LVGS_FOCUSED; andernfalls -1.

Hinweise

Diese Methode sendet die LVM_GETFOCUSEDGROUP Nachricht, die im Windows SDK beschrieben wird. Weitere Informationen finden Sie im LVGS_FOCUSED Wert des state Elements der LVGROUP Struktur.

CListCtrl::GetGroupCount

Ruft die Anzahl der Gruppen im aktuellen Listenansicht-Steuerelement ab.

int GetGroupCount()const;

Rückgabewert

Die Anzahl der Gruppen im Listenansicht-Steuerelement.

Hinweise

Diese Methode sendet die LVM_GETGROUPCOUNT Nachricht, die im Windows SDK -->beschrieben wird.

CListCtrl::GetGroupInfo

Ruft die Informationen für eine angegebene Gruppe des Listenansichtssteuerelements ab.

int GetGroupInfo(
    int iGroupId,
    PLVGROUP pgrp) const;

Parameter

iGroupId
Der Bezeichner der Gruppe, deren Informationen abgerufen werden sollen.

pgrp
Ein Zeiger auf die LVGROUP enthaltenden Informationen zu der angegebenen Gruppe.

Rückgabewert

Gibt die ID der Gruppe zurück, wenn dies erfolgreich ist, oder -1 andernfalls.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_GETGROUPINFO Nachricht, wie im Windows SDK beschrieben.

CListCtrl::GetGroupInfoByIndex

Ruft Informationen zu einer angegebenen Gruppe im aktuellen Listenansicht-Steuerelement ab.

BOOL GetGroupInfoByIndex(
    int iIndex,
    PLVGROUP pGroup) const;

Parameter

iIndex
[in] Nullbasierter Index einer Gruppe.

pGroup
[out] Zeiger auf eine LVGROUP-Struktur , die Informationen zu der gruppe empfängt, die durch den iIndex-Parameter angegeben wird. Der Aufrufer ist für die Initialisierung der Mitglieder der LVGROUP-Struktur verantwortlich. Legen Sie das cbSize Element auf die Größe der Struktur und die Flags des mask Elements fest, um die abzurufenden Informationen anzugeben.

Rückgabewert

TRUEwenn diese Methode erfolgreich ist; andernfalls . FALSE

Hinweise

Diese Methode sendet die LVM_GETGROUPINFOBYINDEX Nachricht, die im Windows SDK -->beschrieben wird.

Beispiel

Im ersten Codebeispiel wird eine Variable definiert, m_listCtrldie für den Zugriff auf das aktuelle Listenansicht-Steuerelement verwendet wird. Diese Variable wird im nächsten Beispiel verwendet.

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

Im nächsten Codebeispiel wird die GetGroupInfoByIndex Methode veranschaulicht. In einem früheren Abschnitt dieses Codebeispiels haben wir ein Listenansicht-Steuerelement erstellt, das zwei Spalten mit dem Titel "ClientID" und "Grade" in einer Berichtsansicht anzeigt. Im folgenden Codebeispiel werden Informationen zu der Gruppe abgerufen, deren Index 0 ist, wenn eine solche Gruppe vorhanden ist.

// 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

Ruft die Metriken einer Gruppe ab.

void GetGroupMetrics(PLVGROUPMETRICS pGroupMetrics) const;

Parameter

pGroupMetrics
Ein Zeiger auf einen LVGROUPMETRICS , der die Gruppenmetrikeninformationen enthält.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_GETGROUPMETRICS Nachricht, wie im Windows SDK beschrieben.

CListCtrl::GetGroupRect

Ruft das umgebende Rechteck für eine angegebene Gruppe im aktuellen Listenansicht-Steuerelement ab.

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

Parameter

iGroupId
[in] Gibt eine Gruppe an.

lpRect
[in, out] Zeiger auf eine RECT Struktur. Wenn diese Methode erfolgreich ist, empfängt die Struktur die Rechteckkoordinaten der Gruppe, die durch iGroupIdangegeben wird.

iCoords
[in] Gibt die abzurufenden Rechteckkoordinaten an. Verwenden Sie einen dieser Werte:

  • LVGGR_GROUP - (Standard) Koordinaten der gesamten erweiterten Gruppe.
  • LVGGR_HEADER - Koordinaten nur der Kopfzeile (reduzierte Gruppe).
  • LVGGR_SUBSETLINK - Koordinaten nur der Teilmengeverknüpfung (Markupuntermenge).

Rückgabewert

TRUEwenn diese Methode erfolgreich ist; andernfalls . FALSE

Hinweise

Der Aufrufer ist für die Zuordnung der Struktur verantwortlich, auf die RECT der pRect Parameter verweist.

Diese Methode sendet die LVM_GETGROUPRECT Nachricht, die im Windows SDK beschrieben wird.

Beispiel

Im ersten Codebeispiel wird eine Variable definiert, m_listCtrldie für den Zugriff auf das aktuelle Listenansicht-Steuerelement verwendet wird. Diese Variable wird im nächsten Beispiel verwendet.

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

Im nächsten Codebeispiel wird die GetGroupRect Methode veranschaulicht. In einem früheren Abschnitt dieses Codebeispiels haben wir ein Listenansicht-Steuerelement erstellt, das zwei Spalten mit dem Titel "ClientID" und "Grade" in einer Berichtsansicht anzeigt. Das folgende Codebeispiel zeichnet ein 3D-Rechteck um die Gruppe, deren Index 0 ist, wenn eine solche Gruppe vorhanden ist.

// 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

Ruft den Status für eine angegebene Gruppe im aktuellen Listenansicht-Steuerelement ab.

UINT GetGroupState(
    int iGroupId,
    DWORD dwMask) const;

Parameter

iGroupId
[in] Nullbasierter Index einer Gruppe.

dwMask
[in] Maske, die den Zustandswert angibt, der für die angegebene Gruppe abgerufen werden soll. Weitere Informationen finden Sie im mask Element der LVGROUP Struktur.

Rückgabewert

Der angeforderte Status für die angegebene Gruppe oder 0, wenn die Gruppe nicht gefunden werden kann.

Hinweise

Der Rückgabewert ist das Ergebnis eines bitweisen AND-Vorgangs für den dwMask Parameter und den Wert des state Elements einer LVGROUP Struktur, die das aktuelle Listenansicht-Steuerelement darstellt.

Diese Methode sendet die LVM_GETGROUPSTATE Nachricht, die im Windows SDK beschrieben wird. Weitere Informationen finden Sie im ListView_GetGroupState Makro.

CListCtrl::GetHeaderCtrl

Ruft das Kopfzeilensteuerelement eines Listenansichtssteuerelements ab.

CHeaderCtrl* GetHeaderCtrl();

Rückgabewert

Ein Zeiger auf das Kopfzeilensteuerelement, das vom Listenansichtssteuerelement verwendet wird.

Hinweise

Diese Memberfunktion implementiert das Verhalten des Win32-Makros, ListView_GetHeaderwie im Windows SDK beschrieben.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::GetColumnOrderArray.

CListCtrl::GetHotCursor

Ruft den Cursor ab, der verwendet wird, wenn die hot tracking für ein Listenansichtssteuerelement aktiviert ist.

HCURSOR GetHotCursor();

Rückgabewert

Das Handle zur aktuellen Hot cursor-Ressource, die vom Listenansichtssteuerelement verwendet wird.

Hinweise

Diese Memberfunktion implementiert das Verhalten des Win32-Makros, ListView_GetHotCursorwie im Windows SDK beschrieben. Der hot cursor, nur sichtbar, wenn die Mauszeigerauswahl aktiviert ist, wird angezeigt, wenn der Cursor über ein Listenansichtselement übergibt. Die Mauszeigerauswahl wird durch Festlegen der LVS_EX_TRACKSELECT erweiterten Formatvorlage aktiviert.

Beispiel

// 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

Ruft das Listenansichtselement ab, das sich derzeit unter dem Cursor befindet.

int GetHotItem();

Rückgabewert

Der Index des aktuellen hot item des Listenansichtssteuerelements.

Hinweise

Diese Memberfunktion implementiert das Verhalten des Win32-Makros, ListView_GetHotItemwie im Windows SDK beschrieben. Das hot item is defined as the currently selected item when hot tracking (and hover selection) is enabled.

Wenn die Hot Tracking aktiviert ist, wird die Elementbeschriftung automatisch ohne Die Verwendung einer Maustaste hervorgehoben, wenn ein Benutzer über ein Listenansichtselement angehalten wird.

Beispiel

// 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

Ruft die aktuelle Hoverzeit eines Listenansichtssteuerelements ab.

DWORD GetHoverTime() const;

Rückgabewert

Gibt die Verzögerung in Millisekunden zurück, mit der der Mauszeiger vor dem Auswählen auf ein Element zeigen muss. Wenn der Rückgabewert -1 ist, ist die Hoverzeit die Standardzeigerzeit.

Hinweise

Diese Memberfunktion implementiert das Verhalten des Win32-Makros, ListView_GetHoverTimewie im Windows SDK beschrieben.

Beispiel

// 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

Ruft das Handle einer Bildliste ab, die für Zeichnungslistenansichtselemente verwendet wird.

CImageList* GetImageList(int nImageList) const;

Parameter

nImageList
Wert, der angibt, welche Bildliste abgerufen werden soll. Dabei kann es sich um einen der folgenden Werte handeln:

  • LVSIL_NORMAL Bildliste mit großen Symbolen.
  • LVSIL_SMALL Bildliste mit kleinen Symbolen.
  • LVSIL_STATE Bildliste mit Statusbildern.

Rückgabewert

Ein Zeiger auf die Bildliste, die für Zeichnungslistenansichtselemente verwendet wird.

Beispiel

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

CListCtrl::GetInsertMark

Ruft die aktuelle Position der Einfügemarke ab.

BOOL GetInsertMark(LPLVINSERTMARK plvim) const;

Parameter

plvim
Ein Zeiger auf eine LVINSERTMARK Struktur, die die Informationen für die Einfügemarke enthält.

Rückgabewert

Gibt zurück TRUE , wenn dies erfolgreich ist oder FALSE anderweitig. FALSE wird zurückgegeben, wenn die Größe im cbSize Element der LVINSERTMARK Struktur nicht der tatsächlichen Größe der Struktur entspricht.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_GETINSERTMARK Nachricht, wie im Windows SDK beschrieben.

CListCtrl::GetInsertMarkColor

Ruft die aktuelle Farbe der Einfügemarke ab.

COLORREF GetInsertMarkColor() const;

Rückgabewert

Gibt eine COLORREF Struktur zurück, die die Farbe der Einfügemarke enthält.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_GETINSERTMARKCOLOR Nachricht, wie im Windows SDK beschrieben.

CListCtrl::GetInsertMarkRect

Ruft das Rechteck ab, das die Einfügemarke begrenzt.

int GetInsertMarkRect(LPRECT pRect) const;

Parameter

pRect
Zeigen Sie auf eine RECT Struktur, die die Koordinaten eines Rechtecks enthält, das die Einfügemarke begrenzt.

Rückgabewert

Gibt einen der folgenden Werte zurück:

  • 0 Keine Einfügemarke gefunden.
  • 1 Einfügemarke gefunden.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_GETINSERTMARKRECT Nachricht, wie im Windows SDK beschrieben.

CListCtrl::GetItem

Ruft einige oder alle Attribute eines Listenansichtselements ab.

BOOL GetItem(LVITEM* pItem) const;

Parameter

pItem
Zeigen Sie auf eine LVITEM Struktur, die die Attribute des Elements empfängt.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Hinweise

Die LVITEM Struktur gibt die Attribute eines Listenansichtselements an oder empfängt sie.

CListCtrl::GetItemCount

Ruft die Anzahl der Elemente in einem Listenansichtssteuerelement ab.

int GetItemCount() const;

Rückgabewert

Die Anzahl der Elemente im Listenansichtssteuerelement.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::DeleteItem.

CListCtrl::GetItemData

Ruft den 32-Bit-anwendungsspezifischen Wert ab (64-Bit, wenn Sie für x64 kompilieren), das mit dem durch nItemangegebenen Element verknüpft ist.

DWORD_PTR GetItemData(int nItem) const;

Parameter

nItem
Index des Listenelements, dessen Daten abgerufen werden sollen.

Rückgabewert

Ein anwendungsspezifischer 32-Bit-Wert (64-Bit, wenn Sie für x64 kompilieren), der dem angegebenen Element zugeordnet ist.

Hinweise

Dieser Wert ist das lParam Element der LVITEM Struktur, wie im Windows SDK beschrieben.

Beispiel

// 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

Ruft das umgebende Rechteck für alle oder einen Teil eines Unterelements im aktuellen Listenansicht-Steuerelement ab.

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

Parameter

pItemIndex
[in] Zeigen Sie auf eine LVITEMINDEX Struktur für das übergeordnete Element des Unterelements. Der Aufrufer ist für das Zuordnen und Festlegen der Member der LVITEMINDEX Struktur verantwortlich. Dieser Parameter darf nicht NULL sein.

iColumn
[in] Nullbasierter Index einer Spalte im Steuerelement.

rectType
[in] Teil des Listenansicht-Unterelements, für das das umgebende Rechteck abgerufen wird. Geben Sie einen der folgenden Werte an:

  • LVIR_BOUNDS - Gibt das umgebende Rechteck des gesamten Unterelements zurück, einschließlich des Symbols und der Beschriftung.
  • LVIR_ICON - Gibt das umgebende Rechteck des Symbols oder des kleinen Symbols des Unterelements zurück.
  • LVIR_LABEL - Gibt das umgebende Rechteck des Unterelementtexts zurück.

pRect
[out] Zeigen Sie auf eine RECT Struktur, die Informationen zum umgebenden Rechteck des Unterelements empfängt. Der Aufrufer ist für die Zuordnung der RECT Struktur verantwortlich. Dieser Parameter darf nicht NULL sein.

Rückgabewert

TRUEwenn diese Methode erfolgreich ist; andernfalls . FALSE

Hinweise

Diese Methode sendet die LVM_GETITEMINDEXRECT Nachricht, die im Windows SDK beschrieben wird. Weitere Informationen finden Sie unter ListView_GetItemIndexRect "Makro".

Beispiel

Im ersten Codebeispiel wird eine Variable definiert, m_listCtrldie für den Zugriff auf das aktuelle Listenansicht-Steuerelement verwendet wird. Diese Variable wird im nächsten Beispiel verwendet.

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

Im nächsten Codebeispiel wird die GetGroupRect Methode veranschaulicht. Vor der Eingabe dieses Codebeispiels haben wir ein Listenansicht-Steuerelement erstellt, das zwei Spalten mit dem Titel "ClientID" und "Grade" in einer Berichtsansicht anzeigt. Das folgende Codebeispiel zeichnet ein 3D-Rechteck um das zweite Unterelement in beiden Spalten.

// 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

Ruft die Position eines Listenansichtselements ab.

BOOL GetItemPosition(
    int nItem,
    LPPOINT lpPoint) const;

Parameter

nItem
Der Index des Elements, dessen Position abgerufen werden soll.

lpPoint
Adresse einer POINT Struktur, die die Position der oberen linken Ecke des Elements in Ansichtskoordinaten empfängt.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Beispiel

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

Ruft das umgebende Rechteck für alle oder einen Teil eines Elements in der aktuellen Ansicht ab.

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

Parameter

nItem
Der Index des Elements, dessen Position abgerufen werden soll.

lpRect
Adresse einer RECT Struktur, die das umgebende Rechteck empfängt.

nCode
Teil des Listenansichtselements, für das das umgebende Rechteck abgerufen werden soll. Dabei kann es sich um einen der folgenden Werte handeln:

  • LVIR_BOUNDS Gibt das umgebende Rechteck des gesamten Elements zurück, einschließlich des Symbols und der Beschriftung.
  • LVIR_ICON Gibt das umgebende Rechteck des Symbols oder des kleinen Symbols zurück.
  • LVIR_LABEL Gibt das umgebende Rechteck des Elementtexts zurück.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Beispiel

// 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

Berechnet den Abstand zwischen Elementen im aktuellen Listenansicht-Steuerelement.

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

Parameter

fSmall
[in] Ansicht, für die der Elementabstand abgerufen werden soll. Geben Sie für kleine Symbolansicht oder FALSE für die Symbolansicht anTRUE.

pnHorzSpacing
[out] Enthält den horizontalen Abstand zwischen Elementen.

pnVertSpacing
[out] Enthält den vertikalen Abstand zwischen Elementen.

Rückgabewert

TRUEwenn diese Methode erfolgreich ist; andernfalls . FALSE

Hinweise

Diese Methode sendet die LVM_GETITEMSPACING Nachricht, die im Windows SDK beschrieben wird.

CListCtrl::GetItemState

Ruft den Status eines Listenansichtselements ab.

UINT GetItemState(
    int nItem,
    UINT nMask) const;

Parameter

nItem
Der Index des Elements, dessen Status abgerufen werden soll.

nMask
Maske, die angibt, welche Statuskennzeichnungen des Elements zurückgegeben werden sollen.

Rückgabewert

Die Statuskennzeichnungen für das angegebene Listenansichtselement.

Hinweise

Der Status eines Elements wird durch das state Element der LVITEM Struktur angegeben, wie im Windows SDK beschrieben. Wenn Sie den Status eines Elements angeben oder ändern, gibt das stateMask Element an, welche Statusbits Sie ändern möchten.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::GetTopIndex.

CListCtrl::GetItemText

Ruft den Text eines Listenansichtselements oder -unterelements ab.

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

CString GetItemText(
    int nItem,
    int nSubItem) const;

Parameter

nItem
Der Index des Elements, dessen Text abgerufen werden soll.

nSubItem
Gibt das Unterelement an, dessen Text abgerufen werden soll.

lpszText
Zeigen Sie auf eine Zeichenfolge, die den Elementtext empfängt.

nLen
Länge des Puffers, auf den verwiesen wird, um lpszText.

Rückgabewert

Die zurückgegebene int Version gibt die Länge der abgerufenen Zeichenfolge zurück.

Die Zurückgegebene CString Version gibt den Elementtext zurück.

Hinweise

Wenn nSubItem null ist, ruft diese Funktion die Elementbezeichnung ab. Ist nSubItem dies nicht der Fall, ruft sie den Text des Unterelements ab. Weitere Informationen zum Unterelementargument finden Sie in der Erläuterung der LVITEM Struktur im Windows SDK.

CListCtrl::GetNextItem

Sucht nach einem Listenansichtselement, das über die angegebenen Eigenschaften verfügt und die die angegebene Beziehung zu einem bestimmten Element trägt.

int GetNextItem(
    int nItem,
    int nFlags) const;

Parameter

nItem
Index des Elements, mit dem die Suche beginnen soll, oder -1, um das erste Element zu finden, das den angegebenen Flags entspricht. Das angegebene Element selbst wird von der Suche ausgeschlossen.

nFlags
Geometrische Beziehung des angeforderten Elements zum angegebenen Element und der Zustand des angeforderten Elements. Die geometrische Beziehung kann einer der folgenden Werte sein:

  • LVNI_ABOVE Sucht nach einem Element, das über dem angegebenen Element liegt.
  • LVNI_ALL Sucht nach einem nachfolgenden Element nach Index (Standardwert).
  • LVNI_BELOW Sucht nach einem Element, das unter dem angegebenen Element liegt.
  • LVNI_TOLEFT Sucht links neben dem angegebenen Element nach einem Element.
  • LVNI_TORIGHT Sucht nach einem Element rechts neben dem angegebenen Element.

Der Zustand kann null sein, oder es kann sich um einen oder mehrere dieser Werte handeln:

  • LVNI_DROPHILITED Das Element hat die LVIS_DROPHILITED Statuskennzeichnung festgelegt.
  • LVNI_FOCUSED Das Element hat die LVIS_FOCUSED Statuskennzeichnung festgelegt.
  • LVNI_SELECTED Das Element hat die LVIS_SELECTED Statuskennzeichnung festgelegt.

Wenn für ein Element nicht alle angegebenen Statuskennzeichnungen festgelegt sind, wird die Suche mit dem nächsten Element fortgesetzt.

Rückgabewert

Der Index des nächsten Elements, falls erfolgreich, oder -1 andernfalls.

CListCtrl::GetNextItemIndex

Ruft den Index des Elements im aktuellen Listenansicht-Steuerelement ab, das über einen angegebenen Satz von Eigenschaften verfügt.

BOOL GetNextItemIndex(
    PLVITEMINDEX pItemIndex,
    int nFlags) const;

Parameter

pItemIndex
[in, out] Zeigen Sie auf die LVITEMINDEX Struktur, die das Element beschreibt, in dem die Suche beginnt, oder -1, um das erste Element zu finden, das den Flags im nFlags-Parameter entspricht. Wenn diese Methode erfolgreich ist, beschreibt die LVITEMINDEX Struktur das element, das von der Suche gefunden wurde.

nFlags
[in] Eine bitweise Kombination (OR) von Flags, die angeben, wie die Suche ausgeführt werden soll. Die Suche kann von dem Index, dem Status oder der Darstellung des Zielelements oder der physischen Position des Zielelements relativ zum durch den pItemIndex Parameter angegebenen Element abhängen. Weitere Informationen finden Sie im flags Parameter in der LVM_GETNEXTITEMINDEX Nachricht.

Rückgabewert

TRUEwenn diese Methode erfolgreich ist; andernfalls . FALSE

Hinweise

Der Aufrufer ist für das Zuordnen und Festlegen der Elemente der LVITEMINDEX Struktur verantwortlich, auf die der pItemIndex Parameter verweist.

Diese Methode sendet die LVM_GETNEXTITEMINDEX Nachricht, die im Windows SDK beschrieben wird.

CListCtrl::GetNextSelectedItem

Ruft den Index des durch posidentifizierten Listenelements ab, und legt pos dann auf den POSITION-Wert fest.

int GetNextSelectedItem(POSITION& pos) const;

Parameter

pos
Ein Verweis auf einen POSITION-Wert, der von einem vorherigen Aufruf GetNextSelectedItem von oder GetFirstSelectedItemPosition. Der Wert wird durch diesen Aufruf auf die nächste Position aktualisiert.

Rückgabewert

Der Index des durch pos.

Hinweise

Sie können in einer Vorwärts iterationsschleife verwenden GetNextSelectedItem , wenn Sie die Anfangsposition mit einem Aufruf einrichten GetFirstSelectedItemPosition.

Sie müssen sicherstellen, dass Ihr POSITION Wert gültig ist. Wenn sie ungültig ist, wird die Debugversion der Microsoft Foundation-Klassenbibliothek bestätigt.

Beispiel

Im folgenden Codebeispiel wird die Verwendung dieser Funktion veranschaulicht.

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

Ruft die aktuelle Anzahl der Arbeitsbereiche für ein Listenansichtssteuerelement ab.

UINT GetNumberOfWorkAreas() const;

Rückgabewert

Wird zurzeit nicht verwendet.

Hinweise

Diese Memberfunktion implementiert das Verhalten des Win32-Makros, ListView_GetNumberOfWorkAreaswie im Windows SDK beschrieben.

Beispiel

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

Ruft die Farbe des Rahmens eines Listenansichtssteuerelements ab.

COLORREF GetOutlineColor() const;

Rückgabewert

Gibt eine COLORREF Struktur zurück, die die Konturfarbe enthält.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_GETOUTLINECOLOR Nachricht, wie im Windows SDK beschrieben.

CListCtrl::GetOrigin

Ruft den aktuellen Ansichtsursprung für ein Listenansichtssteuerelement ab.

BOOL GetOrigin(LPPOINT lpPoint) const;

Parameter

lpPoint
Adresse einer POINT Struktur, die den Ansichtsursprung empfängt.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0. Wenn sich das Steuerelement jedoch in der Berichtsansicht befindet, ist der Rückgabewert immer null.

CListCtrl::GetSelectedColumn

Ruft den Index der aktuell ausgewählten Spalte im Listensteuerelement ab.

UINT GetSelectedColumn() const;

Rückgabewert

Der Index der ausgewählten Spalte.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_GETSELECTEDCOLUMN Nachricht, wie im Windows SDK beschrieben.

CListCtrl::GetSelectedCount

Ruft die Anzahl der ausgewählten Elemente im Listenansichtssteuerelement ab.

UINT GetSelectedCount() const;

Rückgabewert

Die Anzahl der ausgewählten Elemente im Listenansichtssteuerelement.

Beispiel

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

Ruft das Auswahlzeichen eines Listenansichtssteuerelements ab.

int GetSelectionMark();

Rückgabewert

Das nullbasierte Auswahlzeichen oder -1, wenn kein Auswahlzeichen vorhanden ist.

Hinweise

Diese Memberfunktion implementiert das Verhalten des Win32-Makros, ListView_GetSelectionMarkwie im Windows SDK beschrieben.

Beispiel

// 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

Bestimmt die minimale Spaltenbreite, die zum Anzeigen aller einer bestimmten Zeichenfolge erforderlich ist.

int GetStringWidth(LPCTSTR lpsz) const;

Parameter

lpsz
Adresse einer mit Null beendeten Zeichenfolge, deren Breite bestimmt werden soll.

Rückgabewert

Die Breite der Zeichenfolge in Pixel, auf die verwiesen wird.lpsz

Hinweise

Die zurückgegebene Breite berücksichtigt die aktuelle Schriftart und spaltenränder des Steuerelements, jedoch nicht die Breite eines kleinen Symbols.

Beispiel

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

Ruft das umgebende Rechteck eines Elements in einem Listenansichtssteuerelement ab.

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

Parameter

iItem
Index des übergeordneten Elements des Unterelements.

iSubItem
Der 1-basierte Index des Unterelements.

nArea
Bestimmt den Teil des umgebenden Rechtecks (des Listenansichtsunterelements), der abgerufen werden soll. Der Teil (Symbol, Beschriftung oder beides) des umgebenden Rechtecks wird angegeben, indem der Bitweise-Operator OR auf einen oder mehrere der folgenden Werte angewendet wird:

  • LVIR_BOUNDS Gibt das umgebende Rechteck des gesamten Elements zurück, einschließlich des Symbols und der Beschriftung.
  • LVIR_ICON Gibt das umgebende Rechteck des Symbols oder des kleinen Symbols zurück.
  • LVIR_LABEL Gibt das umgebende Rechteck des gesamten Elements zurück, einschließlich des Symbols und der Beschriftung. Dies ist identisch mit LVIR_BOUNDS.

ref
Verweisen auf ein CRect Objekt, das die Koordinaten des umgebenden Rechtecks des Unterelements enthält.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Hinweise

Diese Memberfunktion implementiert das Verhalten des Win32-Makros, ListView_GetSubItemRectwie im Windows SDK beschrieben.

CListCtrl::GetTextBkColor

Ruft die Texthintergrundfarbe eines Listenansichtssteuerelements ab.

COLORREF GetTextBkColor() const;

Rückgabewert

Ein 32-Bit-Wert, der zum Angeben einer RGB-Farbe verwendet wird.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::SetTextBkColor.

CListCtrl::GetTextColor

Ruft die Textfarbe eines Listenansichtssteuerelements ab.

COLORREF GetTextColor() const;

Rückgabewert

Ein 32-Bit-Wert, der zum Angeben einer RGB-Farbe verwendet wird.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::SetTextColor.

CListCtrl::GetTileInfo

Ruft Informationen zu einer Kachel in einem Listenansichtssteuerelement ab.

BOOL GetTileInfo(PLVTILEINFO plvti) const;

Parameter

plvti
Ein Zeiger auf eine LVTILEINFO Struktur, die die Kachelinformationen empfängt.

Rückgabewert

Der Rückgabewert wird nicht verwendet.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_GETTILEINFO Nachricht, wie im Windows SDK beschrieben.

CListCtrl::GetTileViewInfo

Ruft Informationen zu einem Listenansichtssteuerelement in der Kachelansicht ab.

BOOL GetTileViewInfo(PLVTILEVIEWINFO ptvi) const;

Parameter

ptvi
Ein Zeiger auf eine LVTILEVIEWINFO Struktur, die die abgerufenen Informationen empfängt.

Rückgabewert

Der Rückgabewert wird nicht verwendet.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_GETTILEVIEWINFO Nachricht, wie im Windows SDK beschrieben.

CListCtrl::GetToolTips

Ruft das QuickInfo-Steuerelement ab, das vom Listenansichtssteuerelement zum Anzeigen von QuickInfos verwendet wird.

CToolTipCtrl* GetToolTips() const;

Rückgabewert

Ein Zeiger auf ein CToolTipCtrl Objekt, das vom Listensteuerelement verwendet werden soll. Wenn die Create Memberfunktion die Formatvorlage LVS_NOTOOLTIPSverwendet, werden keine QuickInfos verwendet, und NULL wird zurückgegeben.

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht LVM_GETTOOLTIPS, wie im Windows SDK beschrieben. Die MFC-Implementierung gibt GetToolTips ein CToolTipCtrl Objekt zurück, das vom Listensteuerelement anstelle eines Handles für ein QuickInfo-Steuerelement verwendet wird.

Beispiel

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

CListCtrl::GetTopIndex

Ruft den Index des am weitesten sichtbaren Elements in der Listenansicht oder Berichtsansicht ab.

int GetTopIndex() const;

Rückgabewert

Der Index des obersten sichtbaren Elements.

Beispiel

// 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

Ruft die Ansicht des Listenansicht-Steuerelements ab.

DWORD GetView() const;

Rückgabewert

Die aktuelle Ansicht des Listenansichtssteuerelements.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_GETVIEW Nachricht, wie im Windows SDK beschrieben.

CListCtrl::GetViewRect

Ruft das umgebende Rechteck aller Elemente im Listenansichtssteuerelement ab.

BOOL GetViewRect(LPRECT lpRect) const;

Parameter

lpRect
Adresse einer RECT Struktur.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Hinweise

Die Listenansicht muss sich in der Symbolansicht oder in der kleinen Symbolansicht befinden.

CListCtrl::GetWorkAreas

Ruft die aktuellen Arbeitsbereiche eines Listenansichtssteuerelements ab.

void GetWorkAreas(
    int nWorkAreas,
    LPRECT pRect) const;

Parameter

nWorkAreas
Die Anzahl der RECT im pRect Array enthaltenen Strukturen.

pRect
Ein Zeiger auf ein Array von RECT Strukturen (oder CRect Objekten), die die Arbeitsbereiche des Listenansichtssteuerelements empfangen. Werte in diesen Strukturen befinden sich in Clientkoordinaten.

Hinweise

Diese Memberfunktion implementiert das Verhalten des Win32-Makros, ListView_GetWorkAreaswie im Windows SDK beschrieben.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::GetNumberOfWorkAreas.

CListCtrl::HasGroup

Bestimmt, ob das Listenansichtssteuerelement über die angegebene Gruppe verfügt.

BOOL HasGroup(int iGroupId) const;

Parameter

iGroupId
Der Bezeichner der angeforderten Gruppe.

Rückgabewert

Gibt TRUE bei Erfolg bzw. FALSE bei einem Fehler zurück.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_HASGROUP Nachricht, wie im Windows SDK beschrieben.

CListCtrl::HitTest

Bestimmt, welches Listenansichtselement an einer angegebenen Position vorhanden ist.

int HitTest(LVHITTESTINFO* pHitTestInfo) const;

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

Parameter

pHitTestInfo
Adresse einer LVHITTESTINFO Struktur, die die Position zum Treffertest enthält und Informationen über die Ergebnisse des Treffertests empfängt.

pt
Punkt, der getestet werden soll.

pFlags
Zeigen Sie auf eine ganze Zahl, die Informationen zu den Ergebnissen des Tests empfängt. Lesen Sie die Erläuterung des flags Elements der LVHITTESTINFO Struktur im Windows SDK.

Rückgabewert

Der Index des Elements an der durch , falls vorhanden oder -1 angegebenen Position pHitTestInfo.

Hinweise

Mit den LVHT_ABOVEWerten und LVHT_TORIGHT Werten LVHT_BELOWLVHT_TOLEFTdes Elements der Struktur können Sie bestimmen, ob der Inhalt eines Listenansichtssteuerelements flag scrollen soll. Zwei dieser Flags können kombiniert werden, z. B. wenn sich die Position über und links neben dem Clientbereich befindet.

Sie können den LVHT_ONITEM Wert des Elements der Struktur flag testen, um festzustellen, ob sich eine bestimmte Position über einem Listenansichtselement befindet. Dieser Wert ist ein bitweiser OR-Vorgang für das LVHT_ONITEMICONLVHT_ONITEMLABELElement der Struktur flag und LVHT_ONITEMSTATEICON werte.

Beispiel

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

Fügt eine neue Spalte in ein Listenansichtssteuerelement ein.

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

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

Parameter

nCol
Der Index der neuen Spalte.

pColumn
Adresse einer LVCOLUMN Struktur, die die Attribute der neuen Spalte enthält.

lpszColumnHeading
Adresse einer Zeichenfolge, die die Überschrift der Spalte enthält.

nFormat
Ganze Zahl, die die Ausrichtung der Spalte angibt. Dabei kann es sich um einen der folgenden Werte handeln: LVCFMT_LEFT, , LVCFMT_RIGHT, oder LVCFMT_CENTER.

nWidth
Breite der Spalte in Pixel. Wenn dieser Parameter -1 ist, wird die Spaltenbreite nicht festgelegt.

nSubItem
Index des Unterelements, das der Spalte zugeordnet ist. Wenn dieser Parameter -1 ist, ist der Spalte kein Unterelement zugeordnet.

Rückgabewert

Der Index der neuen Spalte, wenn dies erfolgreich oder -1 ist.

Hinweise

Die äußerst linke Spalte in einem Listenansichtssteuerelement muss linksbündig ausgerichtet sein.

Die LVCOLUMN Struktur enthält die Attribute einer Spalte in der Berichtsansicht. Es wird auch verwendet, um Informationen zu einer Spalte zu erhalten. Diese Struktur wird im Windows SDK beschrieben.

CListCtrl::InsertGroup

Fügt eine Gruppe in das Listenansichtssteuerelement ein.

LRESULT InsertGroup(
    int index,
    PLVGROUP pgrp);

Parameter

index
Der Index des Elements, in das die Gruppe eingefügt werden soll.

pgrp
Ein Zeiger auf eine LVGROUP Struktur, die die hinzuzufügende Gruppe enthält.

Rückgabewert

Gibt den Index des Elements zurück, dem die Gruppe hinzugefügt wurde, oder -1, wenn der Vorgang fehlgeschlagen ist.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_INSERTGROUP Nachricht, wie im Windows SDK beschrieben.

CListCtrl::InsertGroupSorted

Fügt die angegebene Gruppe in eine sortierte Liste von Gruppen ein.

LRESULT InsertGroupSorted(PLVINSERTGROUPSORTED pStructInsert);

Parameter

pStructInsert
Ein Zeiger auf eine LVINSERTGROUPSORTED Struktur, die die einzufügende Gruppe enthält.

Rückgabewert

Der Rückgabewert wird nicht verwendet.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_INSERTGROUPSORTED Nachricht, wie im Windows SDK beschrieben.

CListCtrl::InsertItem

Fügt ein Element in das Listenansichtssteuerelement ein.

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);

Parameter

pItem
Zeigen Sie auf eine LVITEM-Struktur , die die Attribute des Elements angibt, wie im Windows SDK beschrieben.

nItem
Index des einzufügenden Elements.

lpszItem
Adresse einer Zeichenfolge, die die Bezeichnung des Elements enthält, oder LPSTR_TEXTCALLBACK wenn es sich bei dem Element um ein Rückrufelement handelt. Informationen zu Rückrufelementen finden Sie unter CListCtrl::GetCallbackMask.

nImage
Index des Bilds des Elements oder I_IMAGECALLBACK wenn es sich bei dem Element um ein Rückrufelement handelt. Informationen zu Rückrufelementen finden Sie unter CListCtrl::GetCallbackMask.

nMask
Der nMask Parameter gibt an, welche Elementattribute als Parameter übergeben werden. Es kann sich um einen oder mehrere der maskenwerte handeln, die in LVITEM "Struktur " im Windows SDK beschrieben werden. Die gültigen Werte können mit dem bitweisen OR-Operator kombiniert werden.

nState
Gibt den Status, das Statusbild und das Überlagerungsbild des Elements an. Weitere Informationen finden Sie in den Themen " LVITEM Struktur " und "Listenansichtselementstatus " des Windows SDK für eine Liste gültiger Flags.

nStateMask
Gibt an, welche Bits des Mitglieds des Staates abgerufen oder geändert werden. Weitere Informationen finden Sie unter LVITEM Struktur im Windows SDK.

lParam
Ein 32-Bit-anwendungsspezifischer Wert (64-Bit, wenn Sie für x64 kompilieren), der dem Element zugeordnet ist. Wenn dieser Parameter angegeben ist, müssen Sie das nMask Attribut LVIF_PARAMfestlegen.

Rückgabewert

Der Index des neuen Elements, wenn das Element erfolgreich oder -1 andernfalls erfolgreich ist.

Hinweise

Das Aufrufen dieser Methode kann dazu führen, dass die LVM_INSERTITEM Nachricht an Ihr Steuerelementfenster gesendet wird. Der zugeordnete Nachrichtenhandler für das Steuerelement kann den Elementtext unter bestimmten Bedingungen nicht festlegen (z. B. die Verwendung von Fensterformatvorlagen wie LVS_OWNERDRAWz. B. ). Weitere Informationen zu diesen Bedingungen finden Sie im LVM_INSERTITEM Windows SDK.

Beispiel

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

Ruft die Einfügemarke ab, die einem angegebenen Punkt am nächsten kommt.

int InsertMarkHitTest(
    LPPOINT pPoint,
    LPLVINSERTMARK plvim) const;

Parameter

pPoint
Ein Zeiger auf eine POINT Struktur, die die Treffertestkoordinaten relativ zum Clientbereich des Listensteuerelements enthält.

plvim
Ein Zeiger auf eine LVINSERTMARK Struktur, die die Einfügemarke angibt, die den durch den Punktparameter definierten Koordinaten am nächsten kommt.

Rückgabewert

Die Einfügemarke, die dem angegebenen Punkt am nächsten kommt.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_INSERTMARKHITTEST Nachricht, wie im Windows SDK beschrieben.

CListCtrl::IsGroupViewEnabled

Bestimmt, ob die Gruppenansicht für ein Listenansichtssteuerelement aktiviert ist.

BOOL IsGroupViewEnabled() const;

Rückgabewert

Gibt zurück TRUE , FALSE ob die Gruppenansicht aktiviert oder anderweitig aktiviert ist.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_ISGROUPVIEWENABLED Nachricht, wie im Windows SDK beschrieben.

CListCtrl::IsItemVisible

Gibt an, ob ein angegebenes Element im aktuellen Listenansicht-Steuerelement sichtbar ist.

BOOL IsItemVisible(int index) const;

Parameter

index
[in] Nullbasierter Index eines Elements im aktuellen Listenansicht-Steuerelement.

Rückgabewert

TRUEwenn das angegebene Element sichtbar ist; andernfalls . FALSE

Hinweise

Diese Methode sendet die LVM_ISITEMVISIBLE Nachricht, die im Windows SDK beschrieben wird.

CListCtrl::MapIDToIndex

Karten der eindeutigen ID eines Elements im aktuellen Listenansicht-Steuerelement zu einem Index.

UINT MapIDToIndex(UINT id) const;

Parameter

id
[in] Die eindeutige ID eines Elements.

Rückgabewert

Der aktuelle Index für die angegebene ID.

Hinweise

Ein Listenansicht-Steuerelement verfolgt Elemente intern nach Index. Dies kann Probleme verursachen, da sich Indizes während der Lebensdauer des Steuerelements ändern können. Das Listenansicht-Steuerelement kann ein Element mit einer ID markieren, wenn das Element erstellt wird, und Sie können diese ID verwenden, um die Eindeutigkeit während der Lebensdauer des Listenansicht-Steuerelements zu gewährleisten.

In einer Multithreadumgebung wird der Index nur für den Thread garantiert, der das Listenansicht-Steuerelement hostet, nicht in Hintergrundthreads.

Diese Methode sendet die LVM_MAPIDTOINDEX Nachricht, die im Windows SDK beschrieben wird.

CListCtrl::MapIndexToID

Karten den Index eines Elements im aktuellen Listenansicht-Steuerelement auf eine eindeutige ID zurück.

UINT MapIndexToID(UINT index) const;

Parameter

index
[in] Der nullbasierte Index eines Elements.

Rückgabewert

Eine eindeutige ID für das angegebene Element.

Hinweise

Ein Listenansicht-Steuerelement verfolgt Elemente intern nach Index. Dies kann Probleme verursachen, da sich Indizes während der Lebensdauer des Steuerelements ändern können. Das Listenansicht-Steuerelement kann ein Element mit einer ID markieren, wenn das Element erstellt wird. Sie können diese ID verwenden, um auf ein bestimmtes Element für die Lebensdauer des Listenansicht-Steuerelements zuzugreifen.

In einer Multithreadumgebung wird der Index nur für den Thread garantiert, der das Listenansicht-Steuerelement hostet, nicht in Hintergrundthreads.

Diese Methode sendet die LVM_MAPINDEXTOID Nachricht, die im Windows SDK beschrieben wird.

Beispiel

Im ersten Codebeispiel wird eine Variable definiert, m_listCtrldie für den Zugriff auf das aktuelle Listenansicht-Steuerelement verwendet wird. Diese Variable wird im nächsten Beispiel verwendet.

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

Im nächsten Codebeispiel wird die MapIndexToID Methode veranschaulicht. In einem früheren Abschnitt dieses Codebeispiels haben wir ein Listenansicht-Steuerelement erstellt, das zwei Spalten mit dem Titel "ClientID" und "Grade" in einer Berichtsansicht anzeigt. Im folgenden Beispiel wird der Index jedes Listenansichtselements einer Identifikationsnummer zugeordnet und anschließend der Index für jede Identifikationsnummer abgerufen. Schließlich meldet das Beispiel, ob die ursprünglichen Indizes abgerufen wurden.

// 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

Verschiebt die angegebene Gruppe in den angegebenen nullbasierten Index des Listenansichtssteuerelements.

LRESULT MoveGroup(
    int iGroupId,
    int toIndex);

Parameter

iGroupId
Der Bezeichner der gruppe, die verschoben werden soll.

toIndex
Der nullbasierte Index, in den die Gruppe verschoben werden soll.

Rückgabewert

Der Rückgabewert wird nicht verwendet.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_MOVEGROUP Nachricht, wie im Windows SDK beschrieben.

CListCtrl::MoveItemToGroup

Verschiebt das angegebene Element in die angegebene Gruppe.

void MoveItemToGroup(
    int idItemFrom,
    int idGroupTo);

Parameter

idItemFrom
[in] Der Index des zu verschiebenden Elements.

idGroupTo
[in] Der Bezeichner der Gruppe, in die das Element verschoben wird.

Hinweise

Hinweis

Diese Methode ist derzeit nicht implementiert.

Diese Methode emuliert die Funktionalität der LVM_MOVEITEMTOGROUP Nachricht, wie im Windows SDK beschrieben.

CListCtrl::RedrawItems

Erzwingt ein Listenansichtssteuerelement, einen Bereich von Elementen neu zu überschreiben.

BOOL RedrawItems(
    int nFirst,
    int nLast);

Parameter

nFirst
Index des ersten zu aktualisierenden Elements.

nLast
Index des letzten zu aktualisierenden Elements.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Hinweise

Die angegebenen Elemente werden erst aktualisiert, wenn das Listenansichtsfenster eine WM_PAINT Nachricht empfängt. Rufen Sie die Windows-Funktion UpdateWindow nach der Verwendung dieser Funktion auf, um sofort zu aktualisieren.

CListCtrl::RemoveAllGroups

Entfernt alle Gruppen aus einem Listenansichtssteuerelement.

void RemoveAllGroups();

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_REMOVEALLGROUPS Nachricht, wie im Windows SDK beschrieben.

CListCtrl::RemoveGroup

Entfernt die angegebene Gruppe aus dem Listenansichtssteuerelement.

LRESULT RemoveGroup(int iGroupId);

Parameter

iGroupId
Der Bezeichner der gruppe, die entfernt werden soll.

Rückgabewert

Gibt den Index der Gruppe zurück, wenn dies erfolgreich ist, oder -1 andernfalls.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_REMOVEGROUP Nachricht, wie im Windows SDK beschrieben.

CListCtrl::Scroll

Scrollt den Inhalt eines Listenansichtssteuerelements.

BOOL Scroll(CSize size);

Parameter

size
Ein CSize Objekt, das die Größe des horizontalen und vertikalen Bildlaufs in Pixel angibt. Das y Element der Größe wird durch die Höhe (in Pixel) der Linien des Listenansicht-Steuerelements geteilt, und das Steuerelement wird durch die resultierende Anzahl von Zeilen gescrollt.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

CListCtrl::SetBkColor

Legt die Hintergrundfarbe des Listenansichtssteuerelements fest.

BOOL SetBkColor(COLORREF cr);

Parameter

cr
Hintergrundfarbe, die festgelegt werden soll, oder der CLR_NONE Wert für keine Hintergrundfarbe. Listenansichtssteuerelemente mit Hintergrundfarben zeichnen sich deutlich schneller aus als die Steuerelemente ohne Hintergrundfarben. Weitere Informationen finden Sie im COLORREF Windows SDK.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Beispiel

// 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

Legt das Hintergrundbild eines Listenansichtssteuerelements fest.

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);

Parameter

plvbkImage
Adresse einer LVBKIMAGE Struktur, die die neuen Hintergrundbildinformationen enthält.

hBitmap
Behandeln sie eine Bitmap.

pszUrl
Eine NULLbeendete Zeichenfolge, die die URL des Hintergrundbilds enthält.

fTile
Nonzero, wenn das Bild im Hintergrund des Listenansichtssteuerelements nebeneinander angeordnet werden soll; andernfalls 0.

xOffsetPercent
Der Offset (in Pixel) des linken Rands des Bilds vom Ursprung des Listenansichtssteuerelements.

yOffsetPercent
Der Offset (in Pixel) des oberen Rands des Bilds vom Ursprung des Listenansichtssteuerelements.

Rückgabewert

Gibt "nonzero" zurück, wenn dies erfolgreich ist, oder 0 andernfalls null.

Hinweise

Hinweis

Da CListCtrl::SetBkImage OLE COM-Funktionen verwendet werden, müssen die OLE-Bibliotheken vor der Verwendung SetBkImageinitialisiert werden. Es empfiehlt sich, die COM-Bibliotheken zu initialisieren, wenn die Anwendung initialisiert wird und die Bibliotheken beim Beenden der Anwendung nicht initialisiert werden. Dies erfolgt automatisch in MFC-Anwendungen, die ActiveX-Technologie, OLE-Automatisierung, OLE-Verknüpfung/Einbettung oder ODBC/DAO-Vorgänge verwenden.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::GetBkImage.

CListCtrl::SetCallbackMask

Legt das Rückrufformat für ein Listenansichtssteuerelement fest.

BOOL SetCallbackMask(UINT nMask);

Parameter

nMask
Neuer Wert des Rückrufformats.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Beispiel

// 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

Bestimmt, ob das Statusbild eines Listensteuerelementelements sichtbar ist.

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

Parameter

nItem
Der nullbasierte Index eines Listensteuerelementelements.

fCheck
Gibt an, ob das Statusbild des Elements sichtbar sein soll. Ist standardmäßig fCheck und TRUE das Zustandsbild ist sichtbar. Wenn fCheck ja FALSE, ist dies nicht sichtbar.

Rückgabewert

Nonzero, wenn das Element aktiviert ist, andernfalls 0.

Beispiel

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

Legt die Attribute einer Listenansichtsspalte fest.

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

Parameter

nCol
Index der Spalte, deren Attribute festgelegt werden sollen.

pColumn
Adresse einer LVCOLUMN Struktur, die die neuen Spaltenattribute enthält, wie im Windows SDK beschrieben. Das Element der mask Struktur gibt an, welche Spaltenattribute festgelegt werden sollen. Wenn das mask Element den LVCF_TEXT Wert angibt, ist das Element der Struktur pszText die Adresse einer mit Null beendeten Zeichenfolge, und das Element der Struktur cchTextMax wird ignoriert.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::GetColumn.

CListCtrl::SetColumnOrderArray

Legt die Spaltenreihenfolge (von links nach rechts) eines Listenansichtssteuerelements fest.

BOOL SetColumnOrderArray(
    int iCount,
    LPINT piArray);

Parameter

piArray
Ein Zeiger auf einen Puffer mit den Indexwerten der Spalten im Listenansichtssteuerelement (von links nach rechts). Der Puffer muss groß genug sein, um die Gesamtanzahl der Spalten im Listenansichtssteuerelement zu enthalten.

iCount
Anzahl der Spalten im Listenansichtssteuerelement.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Hinweise

Diese Memberfunktion implementiert das Verhalten des Win32-Makros, ListView_SetColumnOrderArraywie im Windows SDK beschrieben.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::GetColumnOrderArray.

CListCtrl::SetColumnWidth

Ändert die Breite einer Spalte in der Berichtsansicht oder Listenansicht.

BOOL SetColumnWidth(
    int nCol,
    int cx);

Parameter

nCol
Index der Spalte, für die die Breite festgelegt werden soll. In der Listenansicht muss dieser Parameter 0 sein.

cx
Die neue Breite der Spalte. Kann entweder LVSCW_AUTOSIZE oder LVSCW_AUTOSIZE_USEHEADER, wie im LVM_SETCOLUMNWIDTH Windows SDK beschrieben, sein.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

CListCtrl::SetExtendedStyle

Legt die aktuellen erweiterten Formatvorlagen eines Listenansichtssteuerelements fest.

DWORD SetExtendedStyle(DWORD dwNewStyle);

Parameter

dwNewStyle
Eine Kombination aus erweiterten Formatvorlagen, die vom Listenansichtssteuerelement verwendet werden sollen. Eine beschreibende Liste dieser Formatvorlagen finden Sie im Thema "Erweiterte Listenansichtsformatvorlagen" im Windows SDK.

Rückgabewert

Eine Kombination der vorherigen erweiterten Formatvorlagen, die vom Listenansichtssteuerelement verwendet werden.

Hinweise

Diese Memberfunktion implementiert das Verhalten des Win32-Makros, ListView_SetExtendedListViewStylewie im Windows SDK beschrieben.

Beispiel

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

CListCtrl::SetGroupInfo

Legt die Informationen fest, die die angegebene Gruppe des aktuellen Listenansicht-Steuerelements beschreiben.

int SetGroupInfo(
    int iGroupId,
    PLVGROUP pgrp);

Parameter

iGroupId
Der Bezeichner der Gruppe, deren Informationen festgelegt sind.

pgrp
Zeigen Sie auf eine LVGROUP Struktur, die die festzulegenden Informationen enthält. Der Aufrufer ist für die Zuordnung dieser Struktur und das Festlegen seiner Mitglieder verantwortlich.

Rückgabewert

Die ID der Gruppe, wenn die Methode erfolgreich ist; andernfalls -1.

Hinweise

Diese Methode sendet die LVM_SETGROUPINFO Nachricht, die im Windows SDK beschrieben wird.

CListCtrl::SetGroupMetrics

Legt die Gruppenmetriken eines Listenansichtssteuerelements fest.

void SetGroupMetrics(PLVGROUPMETRICS pGroupMetrics);

Parameter

pGroupMetrics
Ein Zeiger auf eine LVGROUPMETRICS Struktur, die die festzulegenden Gruppenmetrikeninformationen enthält.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_SETGROUPMETRICS Nachricht, wie im Windows SDK beschrieben.

CListCtrl::SetHotCursor

Legt den Cursor fest, der verwendet wird, wenn die Hot Tracking für ein Listenansichtssteuerelement aktiviert ist.

HCURSOR SetHotCursor(HCURSOR hc);

Parameter

hc
Ein Handle zu einer Cursorressource, das zum Darstellen des heißen Cursors verwendet wird.

Rückgabewert

Das Handle zur vorherigen Hot cursor-Ressource, die vom Listenansichtssteuerelement verwendet wird.

Hinweise

Diese Memberfunktion implementiert das Verhalten des Win32-Makros, ListView_SetHotCursorwie im Windows SDK beschrieben.

Der heiße Cursor, der nur angezeigt wird, wenn die Mauszeigerauswahl aktiviert ist, wird angezeigt, wenn der Cursor ein beliebiges Listenansichtselement übergibt. Die Mauszeigerauswahl wird durch Festlegen der LVS_EX_TRACKSELECT erweiterten Formatvorlage aktiviert.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::GetHotCursor.

CListCtrl::SetHotItem

Legt das aktuelle Hot-Element eines Listenansichtssteuerelements fest.

int SetHotItem(int iIndex);

Parameter

iIndex
Nullbasierter Index des Elements, das als heißes Element festgelegt werden soll.

Rückgabewert

Der nullbasierte Index des zuvor heißen Elements.

Hinweise

Diese Memberfunktion implementiert das Verhalten des Win32-Makros, ListView_SetHotItemwie im Windows SDK beschrieben.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::GetHotItem.

CListCtrl::SetHoverTime

Legt die aktuelle Hoverzeit eines Listenansichtssteuerelements fest.

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

Parameter

dwHoverTime
Die neue Verzögerung in Millisekunden, mit der der Mauszeiger vor dem Auswählen auf ein Element zeigen muss. Wenn der Standardwert übergeben wird, wird die Uhrzeit auf die Standardzeigerzeit festgelegt.

Rückgabewert

Die vorherige Hoverzeit in Millisekunden.

Hinweise

Diese Memberfunktion implementiert das Verhalten des Win32-Makros, ListView_SetHoverTimewie im Windows SDK beschrieben.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::GetHoverTime.

CListCtrl::SetIconSpacing

Legt den Abstand zwischen Symbolen in einem Listenansichtssteuerelement fest.

CSize SetIconSpacing(
    int cx,
    int cy);

CSize SetIconSpacing(CSize size);

Parameter

cx
Der Abstand (in Pixel) zwischen Symbolen auf der x-Achse.

cy
Der Abstand (in Pixel) zwischen Symbolen auf der y-Achse.

size
Ein CSize Objekt, das den Abstand (in Pixel) zwischen Symbolen auf der X- und Y-Achse angibt.

Rückgabewert

Ein CSize Objekt, das die vorherigen Werte für den Symbolabstand enthält.

Hinweise

Diese Memberfunktion implementiert das Verhalten des Win32-Makros, ListView_SetIconSpacingwie im Windows SDK beschrieben.

Beispiel

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

CListCtrl::SetImageList

Weist einem Listenansichtssteuerelement eine Bildliste zu.

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

Parameter

pImageList
Zeiger auf die Bildliste, die zugewiesen werden soll.

nImageListType
Typ der Bildliste. Dabei kann es sich um einen der folgenden Werte handeln:

  • LVSIL_NORMAL Bildliste mit großen Symbolen.
  • LVSIL_SMALL Bildliste mit kleinen Symbolen.
  • LVSIL_STATE Bildliste mit Statusbildern.

Rückgabewert

Ein Zeiger auf die vorherige Bildliste.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::GetImageList.

CListCtrl::SetInfoTip

Legt den QuickInfo-Text fest.

BOOL SetInfoTip(PLVSETINFOTIP plvInfoTip);

Parameter

plvInfoTip
Ein Zeiger auf eine LVFSETINFOTIP Struktur, die die festzulegenden Informationen enthält.

Rückgabewert

Gibt TRUE bei Erfolg bzw. FALSE bei einem Fehler zurück.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_SETINFOTIP Nachricht, wie im Windows SDK beschrieben.

CListCtrl::SetInsertMark

Legt die Einfügemarke auf die definierte Position fest.

BOOL SetInsertMark(LPLVINSERTMARK plvim);

Parameter

plvim
Ein Zeiger auf eine LVINSERTMARK Struktur, die angibt, wo die Einfügemarke festgelegt werden soll.

Rückgabewert

Gibt zurück TRUE , wenn dies erfolgreich ist oder FALSE anderweitig. FALSE wird zurückgegeben, wenn die Größe im cbSize Element der LVINSERTMARK Struktur nicht der tatsächlichen Größe der Struktur entspricht oder eine Einfügemarke nicht in der aktuellen Ansicht angewendet wird.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_SETINSERTMARK Nachricht, wie im Windows SDK beschrieben.

CListCtrl::SetInsertMarkColor

Legt die Farbe der Einfügemarke fest.

COLORREF SetInsertMarkColor(COLORREF color);

Parameter

color
Eine COLORREF Struktur, die die Farbe angibt, um die Einfügemarke festzulegen.

Rückgabewert

Gibt eine COLORREF Struktur zurück, die die vorherige Farbe enthält.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_SETINSERTMARKCOLOR Nachricht, wie im Windows SDK beschrieben.

CListCtrl::SetItem

Legt einige oder alle Attribute eines Listenansichtselements fest.

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);

Parameter

pItem
Adresse einer LVITEM Struktur, die die neuen Elementattribute enthält, wie im Windows SDK beschrieben. Die Struktur iItem und iSubItem die Member identifizieren das Element oder Unterelement, und das Element der Struktur mask gibt an, welche Attribute festgelegt werden sollen. Weitere Informationen zum mask Mitglied finden Sie in den Anmerkungen.

nItem
Index des Elements, dessen Attribute festgelegt werden sollen.

nSubItem
Index des Unterelements, dessen Attribute festgelegt werden sollen.

nMask
Gibt an, welche Attribute festgelegt werden sollen (siehe Die Hinweise).

lpszItem
Adresse einer mit Null beendeten Zeichenfolge, die die Bezeichnung des Elements angibt.

nImage
Index des Bilds des Elements in der Bildliste.

nState
Gibt Werte für zu ändernde Zustände an (siehe Anmerkungen).

nStateMask
Gibt an, welche Zustände geändert werden sollen (siehe anmerkungen).

lParam
Ein 32-Bit-Wert (64-Bit, wenn Sie für x64 kompilieren) anwendungsspezifischen Wert, der dem Element zugeordnet werden soll.

nIndent
Breite des Einzugs in Pixel. Wenn nIndent die vom System definierte Mindestbreite kleiner ist, wird die neue Breite auf das vom System definierte Minimum festgelegt.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Hinweise

Die iItem Elemente iSubItem der LVITEM Struktur und die nItemnSubItem Parameter identifizieren das Element und das Unterelement, dessen Attribute festgelegt werden sollen.

Das mask Element der LVITEM Struktur und der nMask Parameter geben an, welche Elementattribute festgelegt werden sollen:

  • LVIF_TEXT The pszText member or the lpszItem parameter is the address of a null-terminated string; the cchTextMax member is ignored.
  • LVIF_STATE Der stateMask Member oder nStateMask Parameter gibt an, welche Elementzustände geändert werden sollen, und der state Member oder nState Parameter enthält die Werte für diese Zustände.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::HitTest.

CListCtrl::SetItemCount

Bereitet ein Listenansichtssteuerelement zum Hinzufügen einer großen Anzahl von Elementen vor.

void SetItemCount(int nItems);

Parameter

nItems
Die Anzahl der Elemente, die das Steuerelement letztendlich enthält.

Hinweise

Informationen zum Festlegen der Elementanzahl für ein virtuelles Listenansichtssteuerelement finden Sie unter CListCtrl::SetItemCountEx.

Diese Memberfunktion implementiert das Verhalten des Win32-Makros, ListView_SetItemCountwie im Windows SDK beschrieben.

Beispiel

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

Legt die Elementanzahl für ein virtuelles Listenansichtssteuerelement fest.

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

Parameter

iCount
Die Anzahl der Elemente, die das Steuerelement letztendlich enthält.

dwFlags
Gibt das Verhalten des Listenansichtssteuerelements nach dem Zurücksetzen der Elementanzahl an. Dieser Wert kann eine Kombination aus folgendem Sein:

  • LVSICF_NOINVALIDATEALL Das Listenansichtssteuerelement wird nicht neu geschlagen, es sei denn, betroffene Elemente befinden sich derzeit in der Ansicht. Dies ist der Standardwert.
  • LVSICF_NOSCROLL Das Listenansichtssteuerelement ändert die Bildlaufposition nicht, wenn sich die Elementanzahl ändert.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Hinweise

Diese Memberfunktion implementiert das Verhalten des Win32-Makros, wie im Windows SDKand beschrieben, ListView_SetItemCountExsollte nur für virtuelle Listenansichten aufgerufen werden.

Beispiel

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

Legt den anwendungsspezifischen 32-Bit-Wert (64-Bit, wenn Sie für x64 kompilieren) fest, der mit dem durch nItemangegebenen Element verknüpft ist.

BOOL SetItemData(int nItem, DWORD_PTR dwData);

Parameter

nItem
Index des Listenelements, dessen Daten festgelegt werden sollen.

dwData
Ein 32-Bit-Wert (64-Bit, wenn Sie für x64 kompilieren) zum Zuordnen des Elements.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Dieser Wert ist das lParam Element der LVITEM Struktur, wie im Windows SDK beschrieben.

Beispiel

// 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

Legt den Status eines Elements im aktuellen Listenansicht-Steuerelement fest.

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

Parameter

pItemIndex
[in] Zeigen Sie auf eine LVITEMINDEX Struktur, die ein Element beschreibt. Der Aufrufer ist für die Zuordnung dieser Struktur und das Festlegen seiner Mitglieder verantwortlich.

dwState
[in] Der Zustand zum Festlegen des Elements, bei dem es sich um eine bitweise Kombination aus Listenansichtselementzuständen handelt. Geben Sie null an, um einen Zustand zurückzusetzen, oder einen festzulegenden Zustand.

dwMask
[in] Eine Maske der gültigen Bits des durch den dwState Parameter angegebenen Zustands. Geben Sie eine bitweise Kombination (OR) von Listenansichtselementzuständen an.

Rückgabewert

TRUEwenn diese Methode erfolgreich ist; andernfalls . FALSE

Hinweise

Weitere Informationen zum dwState Parameter finden Sie unter List View Item States.

Weitere Informationen zum dwMask Parameter finden Sie im stateMask Element der LVITEM Struktur.

Diese Methode sendet die LVM_SETITEMINDEXSTATE Nachricht, die im Windows SDK beschrieben wird.

CListCtrl::SetItemPosition

Verschiebt ein Element an eine angegebene Position in einem Listenansichtssteuerelement.

BOOL SetItemPosition(
    int nItem,
    POINT pt);

Parameter

nItem
Index des Elements, dessen Position festgelegt werden soll.

pt
Eine POINT Struktur, die die neue Position in Ansichtskoordinaten der oberen linken Ecke des Elements angibt.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Hinweise

Das Steuerelement muss sich in der Symbol- oder kleinen Symbolansicht befinden.

Wenn das Listenansichtssteuerelement über die LVS_AUTOARRANGE Formatvorlage verfügt, wird die Listenansicht nach dem Festlegen der Position des Elements angeordnet.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::GetItemPosition.

CListCtrl::SetItemState

Ändert den Status eines Elements in einem Listenansichtssteuerelement.

BOOL SetItemState(
    int nItem,
    LVITEM* pItem);

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

Parameter

nItem
Index des Elements, dessen Status festgelegt werden soll. Übergeben Sie -1, um die Zustandsänderung auf alle Elemente anzuwenden.

pItem
Adresse einer LVITEM Struktur, wie im Windows SDK beschrieben. Das Element der stateMask Struktur gibt an, welche Statusbits geändert werden sollen, und das Element der state Struktur enthält die neuen Werte für diese Bits. Die anderen Elemente werden ignoriert.

nState
Neue Werte für die Statusbits. Eine Liste der möglichen Werte finden Sie unter CListCtrl::GetNextItem und dem LVITEM Mitgliedstaat.

nMask
Maske, die angibt, welche Statusbits geändert werden sollen. Dieser Wert entspricht dem stateMask-Element der LVITEM Struktur.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Hinweise

Der Status eines Elements ist ein Wert, der die Verfügbarkeit des Elements angibt, Benutzeraktionen angibt oder anderweitig den Status des Elements widerspiegelt. Ein Listenansichtssteuerelement ändert einige Statusbits, z. B. wenn der Benutzer ein Element auswählt. Eine Anwendung kann andere Statusbits ändern, um das Element zu deaktivieren oder auszublenden oder ein Überlagerungsbild oder Zustandsbild anzugeben.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::GetTopIndex.

CListCtrl::SetItemText

Ändert den Text eines Listenansichtselements oder Unterelements.

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

Parameter

nItem
Index des Elements, dessen Text festgelegt werden soll.

nSubItem
Index des Unterelements oder Null zum Festlegen der Elementbezeichnung.

lpszText
Zeigen Sie auf eine Zeichenfolge, die den neuen Elementtext enthält.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Hinweise

Diese Methode ist nicht für die Verwendung mit Steuerelementen vorgesehen, die das LVS_OWNERDATA Fensterformat enthalten (tatsächlich führt dies zu einer Assertion in Debugbuilds). Weitere Informationen zu diesem Listensteuerelementstil finden Sie unter "Übersicht über Listenansichtssteuerelemente".

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::InsertItem.

CListCtrl::SetOutlineColor

Legt die Farbe des Rahmens eines Listenansicht-Steuerelements fest, wenn das LVS_EX_BORDERSELECT erweiterte Fensterformat festgelegt ist.

COLORREF SetOutlineColor(COLORREF color);

Parameter

color
Die neue COLORREF Struktur, die die Konturfarbe enthält.

Rückgabewert

Die vorherige COLORREF Struktur mit der Konturfarbe

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_SETOUTLINECOLOR Nachricht, wie im Windows SDK beschrieben.

CListCtrl::SetSelectedColumn

Legt die ausgewählte Spalte des Listenansichtssteuerelements fest.

LRESULT SetSelectedColumn(int iCol);

Parameter

iCol
Der Index der zu wählenden Spalte.

Rückgabewert

Der Rückgabewert wird nicht verwendet.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_SETSELECTEDCOLUMN Nachricht, wie im Windows SDK beschrieben.

CListCtrl::SetSelectionMark

Legt das Auswahlzeichen eines Listenansichtssteuerelements fest.

int SetSelectionMark(int iIndex);

Parameter

iIndex
Der nullbasierte Index des ersten Elements in einer Mehrfachauswahl.

Rückgabewert

Das vorherige Auswahlzeichen oder -1, wenn keine Markierung vorhanden war.

Hinweise

Diese Memberfunktion implementiert das Verhalten des Win32-Makros, ListView_SetSelectionMarkwie im Windows SDK beschrieben.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::GetSelectionMark.

CListCtrl::SetTextBkColor

Legt die Hintergrundfarbe von Text in einem Listenansichtssteuerelement fest.

BOOL SetTextBkColor(COLORREF cr);

Parameter

cr
Eine COLORREF Angabe der neuen Texthintergrundfarbe. Weitere Informationen finden Sie im COLORREF Windows SDK.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Beispiel

// 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

Legt die Textfarbe eines Listenansichtssteuerelements fest.

BOOL SetTextColor(COLORREF cr);

Parameter

cr
Eine COLORREF Angabe der neuen Textfarbe. Weitere Informationen finden Sie im COLORREF Windows SDK.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Beispiel

// 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

Legt die Informationen für eine Kachel des Listenansichtssteuerelements fest.

BOOL SetTileInfo(PLVTILEINFO pTileInfo);

Parameter

pTileInfo
Ein Zeiger auf eine LVTILEINFO Struktur, die die festzulegenden Informationen enthält.

Rückgabewert

Gibt TRUE bei Erfolg bzw. FALSE bei einem Fehler zurück.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_SETTILEINFO Nachricht, wie im Windows SDK beschrieben.

CListCtrl::SetTileViewInfo

Legt Informationen fest, die ein Listenansichtssteuerelement in der Kachelansicht verwendet.

BOOL SetTileViewInfo(PLVTILEVIEWINFO ptvi);

Parameter

ptvi
Ein Zeiger auf eine LVTILEVIEWINFO Struktur, die die festzulegenden Informationen enthält.

Rückgabewert

Gibt TRUE bei Erfolg bzw. FALSE bei einem Fehler zurück.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_SETTILEVIEWINFO Nachricht, wie im Windows SDK beschrieben.

CListCtrl::SetToolTips

Legt das QuickInfo-Steuerelement fest, das vom Listenansichtssteuerelement zum Anzeigen von QuickInfos verwendet wird.

CToolTipCtrl* SetToolTips(CToolTipCtrl* pWndTip);

Parameter

pWndTip
Ein Zeiger auf ein CToolTipCtrl Objekt, das vom Listensteuerelement verwendet wird.

Rückgabewert

Ein Zeiger auf ein CToolTipCtrl Objekt, das die zuvor vom Steuerelement verwendete QuickInfo enthält, oder NULL wenn zuvor keine QuickInfos verwendet wurden.

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht LVM_SETTOOLTIPS, wie im Windows SDK beschrieben.

Wenn Sie keine QuickInfos verwenden möchten, geben Sie die LVS_NOTOOLTIPS Formatvorlage an, wenn Sie das CListCtrl Objekt erstellen.

CListCtrl::SetView

Legt die Ansicht des Listenansichtssteuerelements fest.

DWORD SetView(int iView);

Parameter

iView
Die auszuwählende Ansicht.

Rückgabewert

Gibt 1 zurück, wenn dies erfolgreich ist oder andernfalls -1. Beispielsweise wird -1 zurückgegeben, wenn die Ansicht ungültig ist.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_SETVIEW Nachricht, wie im Windows SDK beschrieben.

CListCtrl::SetWorkAreas

Legt den Bereich fest, in dem Symbole in einem Listenansichtssteuerelement angezeigt werden können.

void SetWorkAreas(
    int nWorkAreas,
    LPRECT lpRect);

Parameter

nWorkAreas
Die Anzahl der RECT Strukturen (oder CRect Objekte) im Array, auf das verwiesen wird.lpRect

lpRect
Die Adresse eines Arrays von RECT Strukturen (oder CRect Objekten), die die neuen Arbeitsbereiche des Listenansichtssteuerelements angeben. Diese Bereiche müssen in Clientkoordinaten angegeben werden. Wenn dieser Parameter lautet NULL, wird der Arbeitsbereich auf den Clientbereich des Steuerelements festgelegt.

Hinweise

Diese Memberfunktion implementiert das Verhalten des Win32-Makros, ListView_SetWorkAreaswie im Windows SDK beschrieben.

Beispiel

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

CListCtrl::SortGroups

Verwendet eine anwendungsdefinierte Vergleichsfunktion, um Gruppen nach ID in einem Listenansichtssteuerelement zu sortieren.

BOOL SortGroups(
    PFNLVGROUPCOMPARE _pfnGroupCompare,
    LPVOID _plv);

Parameter

_pfnGroupCompare
Ein Zeiger auf die Gruppenvergleichsfunktion.

_plv
Ein leerer Zeiger.

Rückgabewert

Gibt TRUE bei Erfolg bzw. FALSE bei einem Fehler zurück.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der LVM_SORTGROUPS Nachricht, wie im Windows SDK beschrieben.

CListCtrl::SortItems

Sortiert Listenansichtselemente mithilfe einer anwendungsdefinierten Vergleichsfunktion.

BOOL SortItems(
    PFNLVCOMPARE pfnCompare,
    DWORD_PTR dwData);

Parameter

pfnCompare
[in] Adresse der anwendungsdefinierten Vergleichsfunktion.

Der Sortiervorgang ruft die Vergleichsfunktion jedes Mal auf, wenn die relative Reihenfolge von zwei Listenelementen bestimmt werden muss. Die Vergleichsfunktion muss entweder ein statisches Element einer Klasse oder eine eigenständige Funktion sein, die kein Mitglied einer Klasse ist.

dwData
[in] Anwendungsdefinierter Wert, der an die Vergleichsfunktion übergeben wird.

Rückgabewert

TRUE wenn die Methode erfolgreich war; andernfalls FALSE.

Hinweise

Diese Methode ändert den Index jedes Elements so, dass er die neue Sequenz wiederspiegelt.

Die Vergleichsfunktion weist pfnComparedie folgende Form auf:

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

Die Vergleichsfunktion muss einen negativen Wert zurückgeben, wenn das erste Element dem zweiten vorangehen soll, ein positiver Wert, wenn das erste Element auf die zweite oder null folgen soll, wenn die beiden Elemente gleich sind.

Der lParam1 Parameter ist der 32-Bit-Wert (64-Bit, wenn Sie für x64 kompilieren), das mit dem ersten verglichenen Element verknüpft ist, und der Parameter ist der lParam2 dem zweiten Element zugeordnete Wert. Dies sind die Werte, die beim Einfügen in die Liste im lParam Element der Struktur der Elemente LVITEM angegeben wurden. Der lParamSort Parameter ist identisch mit dem dwData Wert.

Diese Methode sendet die LVM_SORTITEMS Nachricht, die im Windows SDK beschrieben wird.

Beispiel

Es folgt eine einfache Vergleichsfunktion, die dazu führt, dass Elemente nach ihren lParam Werten sortiert werden.

// 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

Sortiert die Elemente des aktuellen Listenansicht-Steuerelements mithilfe einer anwendungsdefinierten Vergleichsfunktion.

BOOL SortItemsEx(
    PFNLVCOMPARE pfnCompare,
    DWORD_PTR dwData);

Parameter

pfnCompare
[in] Adresse der anwendungsdefinierten Vergleichsfunktion. Der Sortiervorgang ruft die Vergleichsfunktion jedes Mal auf, wenn die relative Reihenfolge von zwei Listenelementen bestimmt werden muss. Die Vergleichsfunktion muss entweder ein statisches Element einer Klasse oder eine eigenständige Funktion sein, die kein Mitglied einer Klasse ist.

dwData
[in] Anwendungsdefinierter Wert, der an die Vergleichsfunktion übergeben wird.

Rückgabewert

TRUEwenn diese Methode erfolgreich ist; andernfalls . FALSE

Hinweise

Diese Methode ändert den Index jedes Elements so, dass er die neue Sequenz wiederspiegelt.

Die Vergleichsfunktion weist pfnComparedie folgende Form auf:

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

Diese Meldung ist ähnlich LVM_SORTITEMS, mit Ausnahme des Informationstyps, der an die Vergleichsfunktion übergeben wird. In LVM_SORTITEMS, lParam1 und lParam2 sind die Werte der zu vergleichenden Elemente. In LVM_SORTITEMSEX, lParam1 ist der aktuelle Index des ersten zu vergleichenden Elements und lParam2 ist der aktuelle Index des zweiten Elements. Sie können eine LVM_GETITEMTEXT Nachricht senden, um weitere Informationen zu einem Element abzurufen.

Die Vergleichsfunktion muss einen negativen Wert zurückgeben, wenn das erste Element dem zweiten vorangehen soll, ein positiver Wert, wenn das erste Element auf die zweite oder null folgen soll, wenn die beiden Elemente gleich sind.

Hinweis

Während des Sortiervorgangs sind die Listenansichtsinhalte instabil. Wenn die Rückruffunktion andere Nachrichten an das Listenansicht-Steuerelement sendet als LVM_GETITEM, sind die Ergebnisse unvorhersehbar.

Diese Methode sendet die LVM_SORTITEMSEX Nachricht, die im Windows SDK beschrieben wird.

Beispiel

Im ersten Codebeispiel wird eine Variable definiert, m_listCtrldie für den Zugriff auf das aktuelle Listenansicht-Steuerelement verwendet wird. Diese Variable wird im nächsten Beispiel verwendet.

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

Im nächsten Codebeispiel wird die SortItemEx Methode veranschaulicht. In einem früheren Abschnitt dieses Codebeispiels haben wir ein Listenansicht-Steuerelement erstellt, das zwei Spalten mit dem Titel "ClientID" und "Grade" in einer Berichtsansicht anzeigt. Im folgenden Codebeispiel wird die Tabelle mithilfe der Werte in der Spalte "Noten" sortiert.

// 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

Bestimmt, welches Listenansichtselement an einer bestimmten Position vorhanden ist.

int SubItemHitTest(LPLVHITTESTINFO pInfo);

Parameter

pInfo
Ein Zeiger auf die LVHITTESTINFO Struktur.

Rückgabewert

Der 1-basierte Index des Elements oder Unterelements, das getestet wird (falls vorhanden) oder -1 andernfalls.

Hinweise

Diese Memberfunktion implementiert das Verhalten des Win32-Makros, ListView_SubItemHitTestwie im Windows SDK beschrieben.

Beispiel

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

Erzwingt das Listenansichtssteuerelement, das durch nItemdas angegebene Element neu zu paint.

BOOL Update(int nItem);

Parameter

nItem
Index des zu aktualisierenden Elements.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Hinweise

Diese Funktion ordnet auch das Listenansichtssteuerelement an, wenn es über die LVS_AUTOARRANGE Formatvorlage verfügt.

Beispiel

Sehen Sie sich das Beispiel für CListCtrl::GetSelectedCount.

Siehe auch

MFC-BeispielZEILENLISTE
CWnd Klasse
Hierarchiediagramm
CImageList Klasse