La classe CListCtrl

Encapsule les fonctionnalités d’un contrôle d’affichage de liste, qui affiche une collection d’éléments constitués chacun d’une icône (de liste d’images) et d’une étiquette.

Syntaxe

class CListCtrl : public CWnd

Membres

Constructeurs publics

Nom Description
CListCtrl::CListCtrl Construit un objet CListCtrl.

Méthodes publiques

Nom Description
CListCtrl::ApproximateViewRect Détermine la largeur et la hauteur requises pour afficher les éléments d’un contrôle d’affichage de liste.
CListCtrl::Arrange Aligne les éléments sur une grille.
CListCtrl::CancelEditLabel Annule l’opération de modification de texte d’élément.
CListCtrl::Create Crée un contrôle de liste et l’attache à un CListCtrl objet.
CListCtrl::CreateDragImage Crée une liste d’images glisser pour un élément spécifié.
CListCtrl::CreateEx Crée un contrôle de liste avec les styles étendus Windows spécifiés et l’attache à un CListCtrl objet.
CListCtrl::DeleteAllItems Supprime tous les éléments du contrôle.
CListCtrl::DeleteColumn Supprime une colonne du contrôle d’affichage de liste.
CListCtrl::DeleteItem Supprime un élément du contrôle.
CListCtrl::DrawItem Appelé lorsqu’un aspect visuel d’un contrôle de dessin propriétaire change.
CListCtrl::EditLabel Commence la modification sur place du texte d’un élément.
CListCtrl::EnableGroupView Active ou désactive si les éléments d’un contrôle d’affichage de liste s’affichent en tant que groupe.
CListCtrl::EnsureVisible Garantit qu’un élément est visible.
CListCtrl::FindItem Recherche un élément d’affichage de liste présentant des caractéristiques spécifiées.
CListCtrl::GetBkColor Récupère la couleur d’arrière-plan d’un contrôle d’affichage de liste.
CListCtrl::GetBkImage Récupère l’image d’arrière-plan actuelle d’un contrôle d’affichage de liste.
CListCtrl::GetCallbackMask Récupère le masque de rappel pour un contrôle d’affichage de liste.
CListCtrl::GetCheck Récupère l’état d’affichage actuel de l’image d’état associée à un élément.
CListCtrl::GetColumn Récupère les attributs de la colonne d’un contrôle.
CListCtrl::GetColumnOrderArray Récupère l’ordre des colonnes (de gauche à droite) d’un contrôle d’affichage de liste.
CListCtrl::GetColumnWidth Récupère la largeur d’une colonne en mode rapport ou en mode liste.
CListCtrl::GetCountPerPage Calcule le nombre d’éléments qui peuvent s’adapter verticalement dans un contrôle d’affichage de liste.
CListCtrl::GetEditControl Récupère le handle du contrôle d’édition utilisé pour modifier le texte d’un élément.
CListCtrl::GetEmptyText Récupère la chaîne à afficher si le contrôle d’affichage liste actuel est vide.
CListCtrl::GetExtendedStyle Récupère les styles étendus actuels d’un contrôle d’affichage de liste.
CListCtrl::GetFirstSelectedItemPosition Récupère la position du premier élément d’affichage de liste sélectionné dans un contrôle d’affichage de liste.
CListCtrl::GetFocusedGroup Récupère le groupe qui a le focus clavier dans le contrôle d’affichage liste actuel.
CListCtrl::GetGroupCount Récupère le nombre de groupes dans le contrôle d’affichage liste actuel.
CListCtrl::GetGroupInfo Obtient les informations d’un groupe spécifié du contrôle d’affichage de liste.
CListCtrl::GetGroupInfoByIndex Récupère des informations sur un groupe spécifié dans le contrôle d’affichage de liste actuel.
CListCtrl::GetGroupMetrics Récupère les métriques d’un groupe.
CListCtrl::GetGroupRect Récupère le rectangle englobant d’un groupe spécifié dans le contrôle list-view actif.
CListCtrl::GetGroupState Récupère l’état d’un groupe spécifié dans le contrôle d’affichage liste actuel.
CListCtrl::GetHeaderCtrl Récupère le contrôle d’en-tête d’un contrôle d’affichage de liste.
CListCtrl::GetHotCursor Récupère le curseur utilisé lorsque le suivi à chaud est activé pour un contrôle d’affichage de liste.
CListCtrl::GetHotItem Récupère l’élément d’affichage de liste actuellement sous le curseur.
CListCtrl::GetHoverTime Récupère l’heure actuelle du pointage d’un contrôle d’affichage de liste.
CListCtrl::GetImageList Récupère le handle d’une liste d’images utilisée pour dessiner des éléments d’affichage de liste.
CListCtrl::GetInsertMark Récupère la position actuelle de la marque d’insertion.
CListCtrl::GetInsertMarkColor Récupère la couleur actuelle de la marque d’insertion.
CListCtrl::GetInsertMarkRect Récupère le rectangle qui limite le point d’insertion.
CListCtrl::GetItem Récupère les attributs d’un élément d’affichage de liste.
CListCtrl::GetItemCount Récupère le nombre d’éléments dans un contrôle d’affichage de liste.
CListCtrl::GetItemData Récupère la valeur spécifique à l’application associée à un élément.
CListCtrl::GetItemIndexRect Récupère le rectangle englobant pour tout ou partie d’un sous-élément dans le contrôle d’affichage liste actuel.
CListCtrl::GetItemPosition Récupère la position d’un élément d’affichage de liste.
CListCtrl::GetItemRect Récupère le rectangle englobant d’un élément.
CListCtrl::GetItemSpacing Calcule l’espacement entre les éléments du contrôle d’affichage de liste actuel.
CListCtrl::GetItemState Récupère l’état d’un élément d’affichage de liste.
CListCtrl::GetItemText Récupère le texte d’un élément d’affichage de liste ou d’un sous-élément.
CListCtrl::GetNextItem Recherche un élément d’affichage de liste avec des propriétés spécifiées et une relation spécifiée avec un élément donné.
CListCtrl::GetNextItemIndex Récupère l’index de l’élément dans le contrôle d’affichage de liste actuel qui a un ensemble de propriétés spécifié.
CListCtrl::GetNextSelectedItem Récupère l’index d’une position d’élément d’affichage de liste et la position de l’élément d’affichage de liste sélectionné suivant pour itérer.
CListCtrl::GetNumberOfWorkAreas Récupère le nombre actuel de zones de travail pour un contrôle d’affichage de liste.
CListCtrl::GetOrigin Récupère l’origine actuelle de l’affichage pour un contrôle d’affichage de liste.
CListCtrl::GetOutlineColor Récupère la couleur de la bordure d’un contrôle d’affichage de liste.
CListCtrl::GetSelectedColumn Récupère l’index de la colonne actuellement sélectionnée dans le contrôle de liste.
CListCtrl::GetSelectedCount Récupère le nombre d’éléments sélectionnés dans le contrôle d’affichage de liste.
CListCtrl::GetSelectionMark Récupère la marque de sélection d’un contrôle d’affichage de liste.
CListCtrl::GetStringWidth Détermine la largeur minimale de colonne nécessaire pour afficher l’ensemble d’une chaîne donnée.
CListCtrl::GetSubItemRect Récupère le rectangle englobant d’un élément dans un contrôle d’affichage de liste.
CListCtrl::GetTextBkColor Récupère la couleur d’arrière-plan du texte d’un contrôle d’affichage de liste.
CListCtrl::GetTextColor Récupère la couleur de texte d’un contrôle d’affichage de liste.
CListCtrl::GetTileInfo Récupère des informations sur une vignette dans un contrôle d’affichage de liste.
CListCtrl::GetTileViewInfo Récupère des informations sur un contrôle d’affichage de liste en mode vignette.
CListCtrl::GetToolTips Récupère le contrôle d’info-bulle utilisé par le contrôle d’affichage de liste pour afficher les info-bulles.
CListCtrl::GetTopIndex Récupère l’index de l’élément visible le plus haut.
CListCtrl::GetView Obtient l’affichage du contrôle d’affichage de liste.
CListCtrl::GetViewRect Récupère le rectangle englobant de tous les éléments du contrôle d’affichage de liste.
CListCtrl::GetWorkAreas Récupère les zones de travail actuelles d’un contrôle d’affichage de liste.
CListCtrl::HasGroup Détermine si le contrôle d’affichage de liste a le groupe spécifié.
CListCtrl::HitTest Détermine l’élément d’affichage de liste à une position spécifiée.
CListCtrl::InsertColumn Insère une nouvelle colonne dans un contrôle d’affichage de liste.
CListCtrl::InsertGroup Insère un groupe dans le contrôle d’affichage de liste.
CListCtrl::InsertGroupSorted Insère le groupe spécifié dans une liste triée de groupes.
CListCtrl::InsertItem Insère un nouvel élément dans un contrôle d’affichage de liste.
CListCtrl::InsertMarkHitTest Récupère le point d’insertion le plus proche d’un point spécifié.
CListCtrl::IsGroupViewEnabled Détermine si l’affichage de groupe est activé pour un contrôle d’affichage de liste.
CListCtrl::IsItemVisible Indique si un élément spécifié dans le contrôle d’affichage liste actuel est visible.
CListCtrl::MapIDToIndex Cartes l’ID unique d’un élément dans le contrôle d’affichage de liste actuel sur un index.
CListCtrl::MapIndexToID Cartes l’index d’un élément dans le contrôle d’affichage de liste actuel à un ID unique.
CListCtrl::MoveGroup Déplace le groupe spécifié.
CListCtrl::MoveItemToGroup Déplace le groupe spécifié vers l’index de base zéro spécifié du contrôle d’affichage de liste.
CListCtrl::RedrawItems Force un contrôle d’affichage de liste à repeindre une plage d’éléments.
CListCtrl::RemoveAllGroups Supprime tous les groupes d’un contrôle d’affichage de liste.
CListCtrl::RemoveGroup Supprime le groupe spécifié du contrôle d’affichage de liste.
CListCtrl::Scroll Fait défiler le contenu d’un contrôle d’affichage de liste.
CListCtrl::SetBkColor Définit la couleur d’arrière-plan du contrôle d’affichage de liste.
CListCtrl::SetBkImage Définit l’image d’arrière-plan actuelle d’un contrôle d’affichage de liste.
CListCtrl::SetCallbackMask Définit le masque de rappel pour un contrôle d’affichage de liste.
CListCtrl::SetCheck Définit l’état d’affichage actuel de l’image d’état associée à un élément.
CListCtrl::SetColumn Définit les attributs d’une colonne d’affichage de liste.
CListCtrl::SetColumnOrderArray Définit l’ordre des colonnes (de gauche à droite) d’un contrôle d’affichage de liste.
CListCtrl::SetColumnWidth Modifie la largeur d’une colonne en mode rapport ou en mode liste.
CListCtrl::SetExtendedStyle Définit les styles étendus actuels d’un contrôle d’affichage de liste.
CListCtrl::SetGroupInfo Définit les informations du groupe spécifié d’un contrôle d’affichage de liste.
CListCtrl::SetGroupMetrics Définit les métriques de groupe d’un contrôle d’affichage de liste.
CListCtrl::SetHotCursor Définit le curseur utilisé lorsque le suivi à chaud est activé pour un contrôle d’affichage de liste.
CListCtrl::SetHotItem Définit l’élément actif d’un contrôle d’affichage de liste.
CListCtrl::SetHoverTime Définit l’heure actuelle du pointage d’un contrôle d’affichage de liste.
CListCtrl::SetIconSpacing Définit l’espacement entre les icônes d’un contrôle d’affichage de liste.
CListCtrl::SetImageList Affecte une liste d’images à un contrôle d’affichage de liste.
CListCtrl::SetInfoTip Définit le texte de l’info-bulle.
CListCtrl::SetInsertMark Définit le point d’insertion à la position définie.
CListCtrl::SetInsertMarkColor Définit la couleur du point d’insertion.
CListCtrl::SetItem Définit certains ou tous les attributs d’un élément d’affichage de liste.
CListCtrl::SetItemCount Prépare un contrôle d’affichage de liste pour ajouter un grand nombre d’éléments.
CListCtrl::SetItemCountEx Définit le nombre d’éléments pour un contrôle d’affichage de liste virtuelle.
CListCtrl::SetItemData Définit la valeur propre à l’application de l’élément.
CListCtrl::SetItemIndexState Définit l’état d’un élément dans le contrôle d’affichage liste actuel.
CListCtrl::SetItemPosition Déplace un élément vers une position spécifiée dans un contrôle d’affichage de liste.
CListCtrl::SetItemState Modifie l’état d’un élément dans un contrôle d’affichage de liste.
CListCtrl::SetItemText Modifie le texte d’un élément d’affichage de liste ou d’un sous-élément.
CListCtrl::SetOutlineColor Définit la couleur de la bordure d’un contrôle d’affichage de liste.
CListCtrl::SetSelectedColumn Définit la colonne sélectionnée du contrôle d’affichage de liste.
CListCtrl::SetSelectionMark Définit la marque de sélection d’un contrôle d’affichage de liste.
CListCtrl::SetTextBkColor Définit la couleur d’arrière-plan du texte dans un contrôle d’affichage de liste.
CListCtrl::SetTextColor Définit la couleur de texte d’un contrôle d’affichage de liste.
CListCtrl::SetTileInfo Définit les informations d’une vignette du contrôle d’affichage de liste.
CListCtrl::SetTileViewInfo Définit les informations qu’un contrôle d’affichage de liste utilise en mode vignette.
CListCtrl::SetToolTips Définit le contrôle d’info-bulle que le contrôle d’affichage de liste utilisera pour afficher les info-bulles.
CListCtrl::SetView Définit l’affichage du contrôle d’affichage de liste.
CListCtrl::SetWorkAreas Définit la zone dans laquelle les icônes peuvent être affichées dans un contrôle d’affichage de liste.
CListCtrl::SortGroups Trie les groupes d’un contrôle d’affichage de liste avec une fonction définie par l’utilisateur.
CListCtrl::SortItems Trie les éléments d’affichage de liste à l’aide d’une fonction de comparaison définie par l’application.
CListCtrl::SortItemsEx Trie les éléments d’affichage de liste à l’aide d’une fonction de comparaison définie par l’application.
CListCtrl::SubItemHitTest Détermine l’élément d’affichage de liste, le cas échéant, à une position donnée.
CListCtrl::Update Force le contrôle à repeindre un élément spécifié.

Notes

En plus d’une icône et d’une étiquette, chaque élément peut avoir des informations affichées dans les colonnes à droite de l’icône et de l’étiquette. Ce contrôle (et par conséquent la CListCtrl classe) est disponible uniquement pour les programmes exécutés sous Windows 95/98 et Windows NT version 3.51 et ultérieure.

Voici une brève vue d’ensemble de la CListCtrl classe. Pour une discussion conceptuelle détaillée, consultez Utilisation CListCtrl et contrôles.

Views

Les contrôles d’affichage de liste peuvent afficher leur contenu de quatre façons différentes, appelées « vues ».

  • Affichage d’icône

    Chaque élément apparaît sous la forme d’une icône de taille complète (32 x 32 pixels) avec une étiquette en dessous. L’utilisateur peut faire glisser les éléments vers n’importe quel emplacement dans la fenêtre d’affichage de liste.

  • Affichage petite icône

    Chaque élément apparaît sous la forme d’une petite icône (16 x 16 pixels) avec l’étiquette à droite de celle-ci. L’utilisateur peut faire glisser les éléments vers n’importe quel emplacement dans la fenêtre d’affichage de liste.

  • Vue Liste

    Chaque élément apparaît sous la forme d’une petite icône avec une étiquette à droite de celui-ci. Les éléments sont organisés dans les colonnes et ne peuvent pas être déplacés vers un emplacement quelconque dans la fenêtre d’affichage de liste.

  • Afficher le rapport

    Chaque élément apparaît sur sa propre ligne, avec des informations supplémentaires organisées dans les colonnes à droite. La colonne la plus à gauche contient la petite icône et l’étiquette, et les colonnes suivantes contiennent des sous-éléments tels que spécifiés par l’application. Un contrôle d’en-tête incorporé (classe CHeaderCtrl) implémente ces colonnes. Pour plus d’informations sur le contrôle d’en-tête et les colonnes d’un affichage de rapport, consultez Using CListCtrl: Ajout de colonnes au contrôle (vue Rapport).

Le style de l’affichage de liste actuel du contrôle détermine l’affichage actuel. Pour plus d’informations sur ces styles et leur utilisation, consultez Utilisation CListCtrl: Modification des styles de contrôle de liste.

Styles étendus

Outre les styles de liste standard, la classe CListCtrl prend en charge un grand ensemble de styles étendus, fournissant des fonctionnalités enrichies. Voici quelques exemples de cette fonctionnalité :

  • Sélection de pointage

    Lorsqu’il est activé, autorise la sélection automatique d’un élément lorsque le curseur reste sur l’élément pendant une certaine période de temps.

  • Affichages de liste virtuelle

    Lorsqu’il est activé, permet au contrôle de prendre en charge jusqu’aux éléments DWORD. Cela est possible en plaçant la surcharge de gestion des données d’élément sur l’application. À l’exception des informations de sélection et de focus de l’élément, toutes les informations d’élément doivent être gérées par l’application. Pour plus d’informations, consultez Utilisation CListCtrldes contrôles de liste virtuelle.

  • Activation en un et deux clics

    Lorsque cette option est activée, autorise le suivi à chaud (mise en surbrillance automatique du texte de l’élément) et l’activation d’un ou deux clics de l’élément mis en surbrillance.

  • Ordre des colonnes glisser-déplacer

    Lorsque cette option est activée, autorise la réorganisation des colonnes par glisser-déplacer dans un contrôle d’affichage de liste. Disponible uniquement en mode rapport.

Pour plus d’informations sur l’utilisation de ces nouveaux styles étendus, consultez Utilisation CListCtrl: Modification des styles de contrôle de liste.

Éléments et sous-éléments

Chaque élément d’un contrôle d’affichage de liste se compose d’une icône (à partir d’une liste d’images), d’une étiquette, d’un état actuel et d’une valeur définie par l’application (appelée « données d’élément »). Un ou plusieurs sous-éléments peuvent également être associés à chaque élément. Un « sous-élément » est une chaîne qui, en mode Rapport, peut être affichée dans une colonne à droite de l’icône et de l’étiquette d’un élément. Tous les éléments d’un contrôle d’affichage de liste doivent avoir le même nombre de sous-éléments.

La classe CListCtrl fournit plusieurs fonctions pour l’insertion, la suppression, la recherche et la modification de ces éléments. Pour plus d’informations, consultez , et ajout d’éléments au contrôle et à la défilement, organisation, tri et recherche dans les contrôles de liste. CListCtrl::FindItemCListCtrl::InsertItemCListCtrl::GetItem

Par défaut, le contrôle d’affichage de liste est responsable du stockage des attributs d’icône et de texte d’un élément. Toutefois, en plus de ces types d’éléments, la classe CListCtrl prend en charge les « éléments de rappel ». Un « élément de rappel » est un élément d’affichage de liste pour lequel l’application, plutôt que le contrôle, stocke le texte, l’icône ou les deux. Un masque de rappel est utilisé pour spécifier les attributs d’élément (texte et/ou icône) fournis par l’application. Si une application utilise des éléments de rappel, elle doit être en mesure de fournir le texte et/ou les attributs d’icône à la demande. Les éléments de rappel sont utiles lorsque votre application conserve déjà certaines de ces informations. Pour plus d’informations, consultez Utilisation CListCtrldes éléments de rappel et du masque de rappel.

Listes d’images

Les icônes, les images d’élément d’en-tête et les états définis par l’application pour les éléments d’affichage de liste sont contenus dans plusieurs listes d’images (implémentées par la classe CImageList), que vous créez et affectez au contrôle d’affichage de liste. Chaque contrôle d’affichage de liste peut avoir jusqu’à quatre types différents de listes d’images :

  • Icône volumineuse

    Utilisé dans l’affichage d’icônes pour les icônes de taille complète.

  • Petite icône

    Utilisé dans la petite icône, la liste et les vues de rapport pour les versions plus petites des icônes utilisées dans l’affichage d’icônes.

  • État défini par l’application

    Contient des images d’état, qui sont affichées en regard de l’icône d’un élément pour indiquer un état défini par l’application.

  • Élément d’en-tête

    Utilisé dans l’affichage rapport pour les petites images qui apparaissent dans chaque élément de contrôle d’en-tête.

Par défaut, un contrôle d’affichage de liste détruit les listes d’images qui lui sont attribuées lorsqu’elles sont détruites ; Toutefois, le développeur peut personnaliser ce comportement en détruisant chaque liste d’images lorsqu’elle n’est plus utilisée, comme déterminé par l’application. Pour plus d’informations, consultez Utilisation CListCtrldes éléments de liste et des listes d’images.

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CListCtrl

Spécifications

En-têteafxcmn.h:

CListCtrl::ApproximateViewRect

Détermine la largeur et la hauteur requises pour afficher les éléments d’un contrôle d’affichage de liste.

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

Paramètres

sz
Dimensions proposées du contrôle, en pixels. Si les dimensions ne sont pas spécifiées, l’infrastructure utilise les valeurs de largeur ou de hauteur actuelles du contrôle.

iCount
Nombre d’éléments à afficher dans le contrôle. Passez -1 pour utiliser le nombre total d’éléments actuellement dans le contrôle.

Valeur de retour

Objet CSize qui contient la largeur et la hauteur approximatives nécessaires pour afficher les éléments, en pixels.

Notes

Cette fonction membre implémente le comportement de la macro Win32, ListView_ApproximateViewRectcomme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::Arrange

Repositionne les éléments dans une vue d’icône afin qu’ils s’alignent sur une grille.

BOOL Arrange(UINT nCode);

Paramètres

nCode
Spécifie le style d’alignement des éléments. Ce peut être l’une des valeurs suivantes :

  • LVA_ALIGNLEFT Aligne les éléments le long du bord gauche de la fenêtre.
  • LVA_ALIGNTOP Aligne les éléments le long du bord supérieur de la fenêtre.
  • LVA_DEFAULT Aligne les éléments en fonction des styles d’alignement actuels de l’affichage de liste (valeur par défaut).
  • LVA_SNAPTOGRID Aligne toutes les icônes sur la position de grille la plus proche.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Notes

Le nCode paramètre spécifie le style d’alignement.

Exemple

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

Annule l’opération de modification de texte d’élément.

void CancelEditLabel();

Notes

Cette fonction membre émule les fonctionnalités du LVM_CANCELEDITLABEL message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::CListCtrl

Construit un objet CListCtrl.

CListCtrl();

CListCtrl::Create

Crée un contrôle de liste et l’attache à un CListCtrl objet.

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

Paramètres

dwStyle
Spécifie le style du contrôle de liste. Appliquez n’importe quelle combinaison de styles de contrôle de liste au contrôle. Pour obtenir la liste complète de ces styles, consultez les styles de fenêtre d’affichage de liste dans le Kit de développement logiciel (SDK) Windows. Définissez des styles étendus spécifiques à un contrôle à l’aide SetExtendedStylede .

rect
Spécifie la taille et la position du contrôle de liste. Il peut s’agir d’un objet ou d’une CRectRECT structure.

pParentWnd
Spécifie la fenêtre parente du contrôle de liste, généralement un CDialog. Elle ne doit pas être NULL.

nID
Spécifie l’ID du contrôle de liste.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Notes

Vous construisez une CListCtrl étape en deux étapes. Tout d’abord, appelez le constructeur, puis appelez Create, qui crée le contrôle d’affichage de liste et l’attache à l’objet CListCtrl .

Pour appliquer des styles Windows étendus à l’objet de contrôle de liste, appelez CreateEx au lieu de Create.

Exemple

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

CListCtrl::CreateEx

Crée un contrôle (fenêtre enfant) et l’associe à l’objet CListCtrl .

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

Paramètres

dwExStyle
Spécifie le style étendu du contrôle en cours de création. Pour obtenir la liste des styles Windows étendus, consultez le paramètre dwExStyle dans CreateWindowEx le Kit de développement logiciel (SDK) Windows.

dwStyle
Spécifie le style du contrôle de liste. Appliquez n’importe quelle combinaison de styles de contrôle de liste au contrôle. Pour obtenir la liste complète de ces styles, consultez les styles de fenêtre Affichage liste dans le Kit de développement logiciel (SDK) Windows.

rect
Référence à une RECT structure décrivant la taille et la position de la fenêtre à créer, dans les coordonnées clientes de pParentWnd.

pParentWnd
Pointeur vers la fenêtre qui est le parent du contrôle.

nID
ID de la fenêtre enfant du contrôle.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Utilisez CreateEx plutôt que d’appliquer Create des styles Windows étendus, spécifiés par le préface WS_EX_de style étendu Windows.

CreateEx crée le contrôle avec les styles Windows étendus spécifiés par dwExStyle. Pour définir des styles étendus spécifiques à un contrôle, appelez SetExtendedStyle. Par exemple, utilisez CreateEx pour définir des styles tels que WS_EX_CONTEXTHELP, mais utilisez-le SetExtendedStyle pour définir des styles tels que LVS_EX_FULLROWSELECT. Pour plus d’informations, consultez les styles décrits dans l’article Styles d’affichage liste étendue dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::CreateDragImage

Crée une liste d’images glisser pour l’élément spécifié par nItem.

CImageList* CreateDragImage(
    int nItem,
    LPPOINT lpPoint);

Paramètres

*nItem*
Index de l’élément dont la liste d’images glisser doit être créée.

lpPoint
Adresse d’une POINT structure qui reçoit l’emplacement initial du coin supérieur gauche de l’image, en coordonnées d’affichage.

Valeur de retour

Pointeur vers la liste d’images glisser en cas de réussite ; sinon NULL.

Notes

L’objet CImageList est permanent et vous devez le supprimer une fois terminé. Par exemple :

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

// do something

delete pImageList;

CListCtrl::DeleteAllItems

Supprime tous les éléments du contrôle d’affichage de liste.

BOOL DeleteAllItems();

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Exemple

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

CListCtrl::DeleteColumn

Supprime une colonne du contrôle d’affichage de liste.

BOOL DeleteColumn(int nCol);

Paramètres

nCol
Index de la colonne à supprimer.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Exemple

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

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

CListCtrl::DeleteItem

Supprime un élément d’un contrôle d’affichage de liste.

BOOL DeleteItem(int nItem);

Paramètres

nItem
Spécifie l’index de l’élément à supprimer.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Exemple

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

Appelé par l’infrastructure lorsqu’un aspect visuel d’un contrôle d’affichage liste de dessin propriétaire change.

virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);

Paramètres

lpDrawItemStruct
Pointeur long vers une DRAWITEMSTRUCT structure qui contient des informations sur le type de dessin requis.

Notes

Le itemAction membre de la DRAWITEMSTRUCT structure définit l’action de dessin à effectuer.

Par défaut, cette fonction membre ne fait rien. Remplacez cette fonction membre pour implémenter le dessin pour un objet de dessin CListCtrl propriétaire.

L’application doit restaurer tous les objets GDI (Graphics Device Interface) sélectionnés pour le contexte d’affichage fourni lpDrawItemStruct avant la fin de cette fonction membre.

CListCtrl::EditLabel

Commence la modification sur place du texte d’un élément.

CEdit* EditLabel(int nItem);

Paramètres

nItem
Index de l’élément d’affichage de liste à modifier.

Valeur de retour

En cas de réussite, un pointeur vers l’objet CEdit utilisé pour modifier le texte de l’élément ; sinon NULL.

Notes

Un contrôle d’affichage de liste qui a le LVS_EDITLABELS style de fenêtre permet à un utilisateur de modifier les étiquettes d’élément en place. L’utilisateur commence à modifier en cliquant sur l’étiquette d’un élément qui a le focus.

Utilisez cette fonction pour commencer la modification sur place du texte de l’élément d’affichage de liste spécifié.

Exemple

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

Active ou désactive si les éléments d’un contrôle d’affichage de liste s’affichent en tant que groupe.

LRESULT EnableGroupView(BOOL fEnable);

Paramètres

fEnable
Indique s’il faut activer un contrôle listview pour regrouper les éléments affichés. TRUE pour activer le regroupement ; FALSE pour le désactiver.

Valeur de retour

Renvoie l'une des valeurs suivantes :

  • 0 La possibilité d’afficher des éléments d’affichage de liste en tant que groupe est déjà activée ou désactivée.
  • 1 L’état du contrôle a été modifié.
  • -1 Échec de l’opération.

Notes

Cette fonction membre émule les fonctionnalités du LVM_ENABLEGROUPVIEW message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::EnsureVisible

Garantit qu’un élément d’affichage de liste est au moins partiellement visible.

BOOL EnsureVisible(
    int nItem,
    BOOL bPartialOK);

Paramètres

nItem
Index de l’élément d’affichage de liste à afficher.

bPartialOK
Spécifie si la visibilité partielle est acceptable.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Notes

Le contrôle d’affichage de liste est fait défiler si nécessaire. Si le paramètre bPartialOK n’est pas différent de zéro, aucun défilement ne se produit si l’élément est partiellement visible.

Exemple

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

CListCtrl::FindItem

Recherche un élément d’affichage de liste présentant des caractéristiques spécifiées.

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

Paramètres

pFindInfo
Pointeur vers une LVFINDINFO structure contenant des informations sur l’élément à rechercher.

nStart
Index de l’élément avec lequel commencer la recherche, ou -1 pour commencer à partir du début. L’élément à l’adresse est nStart exclu de la recherche s’il nStart n’est pas égal à -1.

Valeur de retour

Index de l’élément s’il réussit ou -1 sinon.

Notes

Le pFindInfo paramètre pointe vers une LVFINDINFO structure, qui contient des informations utilisées pour rechercher un élément d’affichage de liste.

Exemple

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

Récupère la couleur d’arrière-plan d’un contrôle d’affichage de liste.

COLORREF GetBkColor() const;

Valeur de retour

Valeur 32 bits utilisée pour spécifier une couleur RVB.

Exemple

Consultez l’exemple pour CListCtrl::SetBkColor.

CListCtrl::GetBkImage

Récupère l’image d’arrière-plan actuelle d’un contrôle d’affichage de liste.

BOOL GetBkImage(LVBKIMAGE* plvbkImage) const;

Paramètres

plvbkImage
Pointeur vers une LVBKIMAGE structure contenant l’image d’arrière-plan actuelle de l’affichage de liste.

Valeur de retour

Retourne une valeur différente de zéro si elle réussit ou zéro dans le cas contraire.

Notes

Cette méthode implémente le comportement de la macro Win32, ListView_GetBkImagecomme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

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

Récupère le masque de rappel pour un contrôle d’affichage de liste.

UINT GetCallbackMask() const;

Valeur de retour

Masque de rappel du contrôle d’affichage de liste.

Notes

Un « élément de rappel » est un élément d’affichage de liste pour lequel l’application, plutôt que le contrôle, stocke le texte, l’icône ou les deux. Bien qu’un contrôle d’affichage de liste puisse stocker ces attributs pour vous, vous pouvez utiliser des éléments de rappel si votre application conserve déjà certaines de ces informations. Le masque de rappel spécifie les bits d’état d’élément gérés par l’application, et s’applique à l’ensemble du contrôle plutôt qu’à un élément spécifique. Le masque de rappel est égal à zéro par défaut, ce qui signifie que le contrôle suit tous les états d’élément. Si une application utilise des éléments de rappel ou spécifie un masque de rappel différent de zéro, elle doit être en mesure de fournir des attributs d’élément d’affichage de liste à la demande.

Exemple

Consultez l’exemple pour CListCtrl::SetCallbackMask.

CListCtrl::GetCheck

Récupère l’état d’affichage actuel de l’image d’état associée à un élément.

BOOL GetCheck(int nItem) const;

Paramètres

nItem
Index de base zéro d’un élément de contrôle de liste.

Valeur de retour

Différent de zéro si l’élément est sélectionné, sinon 0.

Notes

Cette fonction membre implémente le comportement de la macro Win32, ListView_GetCheckStatecomme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

Consultez l’exemple pour CListCtrl::SetCheck.

CListCtrl::GetColumn

Récupère les attributs de la colonne d’un contrôle d’affichage de liste.

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

Paramètres

nCol
Index de la colonne dont les attributs doivent être récupérés.

pColumn
Adresse d’une LVCOLUMN structure qui spécifie les informations à récupérer et recevoir des informations sur la colonne. Le mask membre spécifie les attributs de colonne à récupérer. Si le mask membre spécifie la valeur LVCF_TEXT, le pszText membre doit contenir l’adresse de la mémoire tampon qui reçoit le texte de l’élément et le cchTextMax membre doit spécifier la taille de la mémoire tampon.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Notes

La LVCOLUMN structure contient des informations sur une colonne en mode rapport.

Exemple

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

Récupère l’ordre des colonnes (de gauche à droite) d’un contrôle d’affichage de liste.

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

Paramètres

piArray
Pointeur vers une mémoire tampon qui contiendra les valeurs d’index des colonnes dans le contrôle d’affichage liste. La mémoire tampon doit être suffisamment grande pour contenir le nombre total de colonnes dans le contrôle d’affichage liste.

iCount
Nombre de colonnes dans le contrôle d’affichage de liste. Si ce paramètre est -1, le nombre de colonnes est automatiquement récupéré par l’infrastructure.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Notes

Cette fonction membre implémente le comportement de la macro Win32, ListView_GetColumnOrderArraycomme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

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

Récupère la largeur d’une colonne en mode rapport ou en mode liste.

int GetColumnWidth(int nCol) const;

Paramètres

nCol
Spécifie l’index de la colonne dont la largeur doit être récupérée.

Valeur de retour

Largeur, en pixels, de la colonne spécifiée par nCol.

Exemple

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

CListCtrl::GetCountPerPage

Calcule le nombre d’éléments qui peuvent s’adapter verticalement à la zone visible d’un contrôle d’affichage de liste lorsqu’ils sont en mode liste ou en mode rapport.

int GetCountPerPage() const;

Valeur de retour

Nombre d’éléments qui peuvent s’adapter verticalement à la zone visible d’un contrôle d’affichage de liste lorsqu’ils sont en mode liste ou en mode rapport.

Exemple

Consultez l’exemple pour CListCtrl::GetTopIndex.

CListCtrl::GetEditControl

Récupère le handle du contrôle d’édition utilisé pour modifier le texte d’un élément d’affichage de liste.

CEdit* GetEditControl() const;

Valeur de retour

En cas de réussite, un pointeur vers l’objet CEdit utilisé pour modifier le texte de l’élément ; sinon NULL.

Exemple

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

Récupère la chaîne à afficher si le contrôle d’affichage liste actuel est vide.

CString GetEmptyText() const;

Valeur de retour

Qui CString contient le texte à afficher si le contrôle est vide.

Notes

Cette méthode envoie le LVM_GETEMPTYTEXT message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::GetExtendedStyle

Récupère les styles étendus actuels d’un contrôle d’affichage de liste.

DWORD GetExtendedStyle();

Valeur de retour

Combinaison des styles étendus actuellement utilisés par le contrôle d’affichage de liste. Pour obtenir une liste descriptive de ces styles étendus, consultez l’article Styles de l’affichage liste étendue dans le Kit de développement logiciel (SDK) Windows.

Notes

Cette fonction membre implémente le comportement de la macro Win32, ListView_GetExtendedListViewStylecomme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

Consultez l’exemple pour CListCtrl::SetExtendedStyle.

CListCtrl::GetFirstSelectedItemPosition

Obtient la position du premier élément sélectionné dans le contrôle d’affichage de liste.

POSITION GetFirstSelectedItemPosition() const;

Valeur de retour

Valeur POSITION qui peut être utilisée pour l’itération ou la récupération du pointeur d’objet ; NULL si aucun élément n’est sélectionné.

Exemple

L’exemple de code suivant illustre l’utilisation de cette fonction.

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

Récupère le groupe qui a le focus clavier dans le contrôle d’affichage liste actuel.

int GetFocusedGroup() const;

Valeur de retour

Index du groupe dont l’état est LVGS_FOCUSED, s’il existe un tel groupe ; sinon, -1.

Notes

Cette méthode envoie le LVM_GETFOCUSEDGROUP message, qui est décrit dans le Kit de développement logiciel (SDK) Windows. Pour plus d’informations, consultez la LVGS_FOCUSED valeur du state membre de la LVGROUP structure.

CListCtrl::GetGroupCount

Récupère le nombre de groupes dans le contrôle d’affichage liste actuel.

int GetGroupCount()const;

Valeur de retour

Nombre de groupes dans le contrôle d’affichage de liste.

Notes

Cette méthode envoie le LVM_GETGROUPCOUNT message, qui est décrit dans le Kit de développement logiciel (SDK) Windows -->.

CListCtrl::GetGroupInfo

Obtient les informations d’un groupe spécifié du contrôle d’affichage de liste.

int GetGroupInfo(
    int iGroupId,
    PLVGROUP pgrp) const;

Paramètres

iGroupId
Identificateur du groupe dont les informations doivent être récupérées.

pgrp
Pointeur vers les LVGROUP informations contenues sur le groupe spécifié.

Valeur de retour

Retourne l’ID du groupe en cas de réussite, ou -1 sinon.

Notes

Cette fonction membre émule les fonctionnalités du LVM_GETGROUPINFO message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::GetGroupInfoByIndex

Récupère des informations sur un groupe spécifié dans le contrôle d’affichage de liste actuel.

BOOL GetGroupInfoByIndex(
    int iIndex,
    PLVGROUP pGroup) const;

Paramètres

iIndex
[in] Index de base zéro d’un groupe.

pGroup
[out] Pointeur vers une structure LVGROUP qui reçoit des informations sur le groupe spécifié par le paramètre iIndex . L’appelant est responsable de l’initialisation des membres de la structure LVGROUP . Définissez le cbSize membre sur la taille de la structure et les indicateurs du mask membre pour spécifier les informations à récupérer.

Valeur de retour

TRUE si cette méthode réussit ; sinon, FALSE.

Notes

Cette méthode envoie le LVM_GETGROUPINFOBYINDEX message, qui est décrit dans le Kit de développement logiciel (SDK) Windows -->.

Exemple

Le premier exemple de code définit une variable, m_listCtrlutilisée pour accéder au contrôle d’affichage liste actuel. Cette variable est utilisée dans l'exemple suivant.

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

L’exemple de code suivant illustre la GetGroupInfoByIndex méthode. Dans une section antérieure de cet exemple de code, nous avons créé un contrôle d’affichage de liste qui affiche deux colonnes intitulées « ClientID » et « Grade » dans une vue de rapport. L’exemple de code suivant récupère des informations sur le groupe dont l’index est 0, s’il existe un tel groupe.

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

Récupère les métriques d’un groupe.

void GetGroupMetrics(PLVGROUPMETRICS pGroupMetrics) const;

Paramètres

pGroupMetrics
Pointeur vers un LVGROUPMETRICS contenant les informations de métriques de groupe.

Notes

Cette fonction membre émule les fonctionnalités du LVM_GETGROUPMETRICS message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::GetGroupRect

Récupère le rectangle englobant d’un groupe spécifié dans le contrôle list-view actif.

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

Paramètres

iGroupId
[in] Spécifie un groupe.

lpRect
[in, out] Pointeur vers une RECT structure. Si cette méthode réussit, la structure reçoit les coordonnées rectangle du groupe spécifié par iGroupId.

iCoords
[in] Spécifie les coordonnées du rectangle à récupérer. Utilisez l’une de ces valeurs :

  • LVGGR_GROUP - (Par défaut) Coordonnées de l’ensemble du groupe développé.
  • LVGGR_HEADER - Coordonnées de l’en-tête uniquement (groupe réduit).
  • LVGGR_SUBSETLINK - Coordonnées du lien de sous-ensemble uniquement (sous-ensemble de balisage).

Valeur de retour

TRUE si cette méthode réussit ; sinon, FALSE.

Notes

L’appelant est responsable de l’allocation de la RECT structure pointée par le pRect paramètre.

Cette méthode envoie le LVM_GETGROUPRECT message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

Le premier exemple de code définit une variable, m_listCtrlutilisée pour accéder au contrôle d’affichage liste actuel. Cette variable est utilisée dans l'exemple suivant.

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

L’exemple de code suivant illustre la GetGroupRect méthode. Dans une section antérieure de cet exemple de code, nous avons créé un contrôle d’affichage de liste qui affiche deux colonnes intitulées « ClientID » et « Grade » dans une vue de rapport. L’exemple de code suivant dessine un rectangle 3D autour du groupe dont l’index est 0, s’il existe un tel groupe.

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

Récupère l’état d’un groupe spécifié dans le contrôle d’affichage liste actuel.

UINT GetGroupState(
    int iGroupId,
    DWORD dwMask) const;

Paramètres

iGroupId
[in] Index de base zéro d’un groupe.

dwMask
[in] Masque qui spécifie la valeur d’état à récupérer pour le groupe spécifié. Pour plus d’informations, consultez le mask membre de la LVGROUP structure.

Valeur de retour

État demandé pour le groupe spécifié, ou 0 si le groupe est introuvable.

Notes

La valeur de retour est le résultat d’une opération AND au niveau du bit sur le dwMask paramètre et de la state valeur du membre d’une LVGROUP structure qui représente le contrôle list-view actuel.

Cette méthode envoie le LVM_GETGROUPSTATE message, qui est décrit dans le Kit de développement logiciel (SDK) Windows. Pour plus d’informations, consultez la ListView_GetGroupState macro.

CListCtrl::GetHeaderCtrl

Récupère le contrôle d’en-tête d’un contrôle d’affichage de liste.

CHeaderCtrl* GetHeaderCtrl();

Valeur de retour

Pointeur vers le contrôle d’en-tête, utilisé par le contrôle d’affichage de liste.

Notes

Cette fonction membre implémente le comportement de la macro Win32, ListView_GetHeadercomme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

Consultez l’exemple pour CListCtrl::GetColumnOrderArray.

CListCtrl::GetHotCursor

Récupère le curseur utilisé lorsque le suivi à chaud est activé pour un contrôle d’affichage de liste.

HCURSOR GetHotCursor();

Valeur de retour

Handle de la ressource de curseur actif utilisée par le contrôle d’affichage de liste.

Notes

Cette fonction membre implémente le comportement de la macro Win32, ListView_GetHotCursorcomme décrit dans le Kit de développement logiciel (SDK) Windows. Le curseur actif, visible uniquement lorsque la sélection de pointage est activée, s’affiche lorsque le curseur passe sur n’importe quel élément d’affichage de liste. La sélection de pointage est activée en définissant le style étendu LVS_EX_TRACKSELECT.

Exemple

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

Récupère l’élément d’affichage de liste actuellement sous le curseur.

int GetHotItem();

Valeur de retour

Index de l’élément actif du contrôle d’affichage de liste.

Notes

Cette fonction membre implémente le comportement de la macro Win32, ListView_GetHotItemcomme décrit dans le Kit de développement logiciel (SDK) Windows. L’élément actif est défini comme l’élément actuellement sélectionné lorsque le suivi à chaud (et la sélection du pointage) est activé.

Si le suivi à chaud est activé, lorsqu’un utilisateur s’interrompt sur un élément d’affichage de liste, l’étiquette de l’élément est automatiquement mise en surbrillance sans l’utilisation d’un bouton de souris.

Exemple

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

Récupère l’heure actuelle du pointage d’un contrôle d’affichage de liste.

DWORD GetHoverTime() const;

Valeur de retour

Retourne le délai, en millisecondes, que le curseur de la souris doit pointer sur un élément avant sa sélection. Si la valeur de retour est -1, l’heure de pointage est l’heure de pointage par défaut.

Notes

Cette fonction membre implémente le comportement de la macro Win32, ListView_GetHoverTimecomme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

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

Récupère le handle d’une liste d’images utilisée pour dessiner des éléments d’affichage de liste.

CImageList* GetImageList(int nImageList) const;

Paramètres

nImageList
Valeur spécifiant la liste d’images à récupérer. Il peut s’agir de l’une des valeurs suivantes :

  • LVSIL_NORMAL Liste d’images avec des icônes volumineuses.
  • LVSIL_SMALL Liste d’images avec de petites icônes.
  • LVSIL_STATE Liste d’images avec des images d’état.

Valeur de retour

Pointeur vers la liste d’images utilisée pour dessiner des éléments d’affichage de liste.

Exemple

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

CListCtrl::GetInsertMark

Récupère la position actuelle de la marque d’insertion.

BOOL GetInsertMark(LPLVINSERTMARK plvim) const;

Paramètres

plvim
Pointeur vers une LVINSERTMARK structure contenant les informations de la marque d’insertion.

Valeur de retour

Retourne TRUE si elle réussit ou FALSE si elle réussit. FALSE est retourné si la taille dans le cbSize membre de la LVINSERTMARK structure n’est pas égale à la taille réelle de la structure.

Notes

Cette fonction membre émule les fonctionnalités du LVM_GETINSERTMARK message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::GetInsertMarkColor

Récupère la couleur actuelle de la marque d’insertion.

COLORREF GetInsertMarkColor() const;

Valeur de retour

Retourne une COLORREF structure qui contient la couleur du point d’insertion.

Notes

Cette fonction membre émule les fonctionnalités du LVM_GETINSERTMARKCOLOR message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::GetInsertMarkRect

Récupère le rectangle qui limite le point d’insertion.

int GetInsertMarkRect(LPRECT pRect) const;

Paramètres

pRect
Pointeur vers une RECT structure qui contient les coordonnées d’un rectangle qui limite le point d’insertion.

Valeur de retour

Renvoie l'une des valeurs suivantes :

  • 0 Aucun point d’insertion trouvé.
  • 1 Point d’insertion trouvé.

Notes

Cette fonction membre émule les fonctionnalités du LVM_GETINSERTMARKRECT message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::GetItem

Récupère certains ou tous les attributs d’un élément d’affichage de liste.

BOOL GetItem(LVITEM* pItem) const;

Paramètres

pItem
Pointeur vers une LVITEM structure qui reçoit les attributs de l’élément.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Notes

La LVITEM structure spécifie ou reçoit les attributs d’un élément d’affichage de liste.

CListCtrl::GetItemCount

Récupère le nombre d’éléments dans un contrôle d’affichage de liste.

int GetItemCount() const;

Valeur de retour

Nombre d’éléments dans le contrôle d’affichage de liste.

Exemple

Consultez l’exemple pour CListCtrl::DeleteItem.

CListCtrl::GetItemData

Récupère la valeur spécifique à l’application 32 bits (64 bits si vous compilez pour x64) associée à l’élément spécifié par nItem.

DWORD_PTR GetItemData(int nItem) const;

Paramètres

nItem
Index de l’élément de liste dont les données doivent être récupérées.

Valeur de retour

Valeur 32 bits (64 bits si vous compilez pour x64) une valeur spécifique à l’application associée à l’élément spécifié.

Notes

Cette valeur est le lParam membre de la LVITEM structure, comme décrit dans le Kit de développement logiciel (SDK) Windows

Exemple

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

Récupère le rectangle englobant pour tout ou partie d’un sous-élément dans le contrôle d’affichage liste actuel.

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

Paramètres

pItemIndex
[in] Pointeur vers une LVITEMINDEX structure pour l’élément parent du sous-élément. L’appelant est responsable de l’allocation et de la définition des membres de la LVITEMINDEX structure. Ce paramètre ne peut pas être NULL.

iColumn
[in] Index de base zéro d’une colonne dans le contrôle.

rectType
[in] Partie du sous-élément d’affichage de liste pour lequel le rectangle englobant est récupéré. Spécifiez l’une des valeurs suivantes :

  • LVIR_BOUNDS - Retourne le rectangle englobant de l’ensemble du sous-élément, y compris l’icône et l’étiquette.
  • LVIR_ICON - Renvoie le rectangle englobant de l’icône ou de la petite icône du sous-élément.
  • LVIR_LABEL - Retourne le rectangle englobant du texte sous-élément.

pRect
[out] Pointeur vers une RECT structure qui reçoit des informations sur le rectangle englobant du sous-élément. L’appelant est responsable de l’allocation de la RECT structure. Ce paramètre ne peut pas être NULL.

Valeur de retour

TRUE si cette méthode réussit ; sinon, FALSE.

Notes

Cette méthode envoie le LVM_GETITEMINDEXRECT message, qui est décrit dans le Kit de développement logiciel (SDK) Windows. Pour plus d’informations, consultez ListView_GetItemIndexRect Macro.

Exemple

Le premier exemple de code définit une variable, m_listCtrlutilisée pour accéder au contrôle d’affichage liste actuel. Cette variable est utilisée dans l'exemple suivant.

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

L’exemple de code suivant illustre la GetGroupRect méthode. Avant d’entrer cet exemple de code, nous avons créé un contrôle d’affichage de liste qui affiche deux colonnes intitulées « ClientID » et « Grade » dans une vue de rapport. L’exemple de code suivant dessine un rectangle 3D autour du deuxième sous-élément dans les deux colonnes.

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

Récupère la position d’un élément d’affichage de liste.

BOOL GetItemPosition(
    int nItem,
    LPPOINT lpPoint) const;

Paramètres

nItem
Index de l’élément dont la position doit être récupérée.

lpPoint
Adresse d’une POINT structure qui reçoit la position du coin supérieur gauche de l’élément, en coordonnées d’affichage.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Exemple

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

Récupère le rectangle englobant pour tout ou partie d’un élément dans l’affichage actuel.

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

Paramètres

nItem
Index de l’élément dont la position doit être récupérée.

lpRect
Adresse d’une RECT structure qui reçoit le rectangle englobant.

nCode
Partie de l’élément d’affichage de liste pour lequel récupérer le rectangle englobant. Il peut s’agir de l’une des valeurs suivantes :

  • LVIR_BOUNDS Retourne le rectangle englobant de l’élément entier, y compris l’icône et l’étiquette.
  • LVIR_ICON Retourne le rectangle englobant de l’icône ou de la petite icône.
  • LVIR_LABEL Retourne le rectangle englobant du texte de l’élément.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Exemple

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

Calcule l’espacement entre les éléments du contrôle d’affichage de liste actuel.

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

Paramètres

fSmall
[in] Affichage pour lequel récupérer l’espacement de l’élément. Spécifiez TRUE le mode petite icône ou FALSE l’affichage icône.

pnHorzSpacing
[out] Contient l’espacement horizontal entre les éléments.

pnVertSpacing
[out] Contient l’espacement vertical entre les éléments.

Valeur de retour

TRUE si cette méthode réussit ; sinon, FALSE.

Notes

Cette méthode envoie le LVM_GETITEMSPACING message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::GetItemState

Récupère l’état d’un élément d’affichage de liste.

UINT GetItemState(
    int nItem,
    UINT nMask) const;

Paramètres

nItem
Index de l’élément dont l’état doit être récupéré.

nMask
Masque spécifiant les indicateurs d’état de l’élément à retourner.

Valeur de retour

Indicateurs d’état pour l’élément d’affichage de liste spécifié.

Notes

L’état d’un élément est spécifié par le state membre de la LVITEM structure, comme décrit dans le Kit de développement logiciel (SDK) Windows. Lorsque vous spécifiez ou modifiez l’état d’un élément, le stateMask membre spécifie les bits d’état que vous souhaitez modifier.

Exemple

Consultez l’exemple pour CListCtrl::GetTopIndex.

CListCtrl::GetItemText

Récupère le texte d’un élément d’affichage de liste ou d’un sous-élément.

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

CString GetItemText(
    int nItem,
    int nSubItem) const;

Paramètres

nItem
Index de l’élément dont le texte doit être récupéré.

nSubItem
Spécifie le sous-élément dont le texte doit être récupéré.

lpszText
Pointeur vers une chaîne qui doit recevoir le texte de l’élément.

nLen
Longueur de la mémoire tampon pointée par lpszText.

Valeur de retour

La version retournée int retourne la longueur de la chaîne récupérée.

La version retournant un CString retour du texte de l’élément.

Notes

Si nSubItem elle est égale à zéro, cette fonction récupère l’étiquette d’élément ; si nSubItem elle n’est pas égale à zéro, elle récupère le texte du sous-élément. Pour plus d’informations sur l’argument sous-élément, consultez la discussion de la LVITEM structure dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::GetNextItem

Recherche un élément d’affichage de liste qui a les propriétés spécifiées et qui porte la relation spécifiée à un élément donné.

int GetNextItem(
    int nItem,
    int nFlags) const;

Paramètres

nItem
Index de l’élément avec lequel commencer la recherche, ou -1 pour rechercher le premier élément qui correspond aux indicateurs spécifiés. L’élément spécifié lui-même est exclu de la recherche.

nFlags
Relation géométrique de l’élément demandé à l’élément spécifié et état de l’élément demandé. La relation géométrique peut être l’une des valeurs suivantes :

  • LVNI_ABOVE Recherche un élément au-dessus de l’élément spécifié.
  • LVNI_ALL Recherche un élément suivant par index (valeur par défaut).
  • LVNI_BELOW Recherche un élément qui se trouve sous l’élément spécifié.
  • LVNI_TOLEFT Recherche un élément à gauche de l’élément spécifié.
  • LVNI_TORIGHT Recherche un élément à droite de l’élément spécifié.

L’état peut être égal à zéro, ou il peut s’agir d’une ou plusieurs de ces valeurs :

  • LVNI_DROPHILITED L’élément a l’indicateur LVIS_DROPHILITED d’état défini.
  • LVNI_FOCUSED L’élément a l’indicateur LVIS_FOCUSED d’état défini.
  • LVNI_SELECTED L’élément a l’indicateur LVIS_SELECTED d’état défini.

Si un élément n’a pas tous les indicateurs d’état spécifiés définis, la recherche continue avec l’élément suivant.

Valeur de retour

Index de l’élément suivant en cas de réussite, ou -1 sinon.

CListCtrl::GetNextItemIndex

Récupère l’index de l’élément dans le contrôle d’affichage de liste actuel qui a un ensemble de propriétés spécifié.

BOOL GetNextItemIndex(
    PLVITEMINDEX pItemIndex,
    int nFlags) const;

Paramètres

pItemIndex
[in, out] Pointeur vers la LVITEMINDEX structure qui décrit l’élément où commence la recherche, ou -1 pour rechercher le premier élément qui correspond aux indicateurs dans le paramètre nFlags . Si cette méthode réussit, la LVITEMINDEX structure décrit l’élément trouvé par la recherche.

nFlags
[in] Combinaison de bits (OR) d’indicateurs qui spécifient comment effectuer la recherche. La recherche peut dépendre de l’index, de l’état ou de l’apparence de l’élément cible, ou de la position physique de l’élément cible par rapport à l’élément spécifié par le pItemIndex paramètre. Pour plus d’informations, consultez le flags paramètre dans le LVM_GETNEXTITEMINDEX message.

Valeur de retour

TRUE si cette méthode réussit ; sinon, FALSE.

Notes

L’appelant est responsable de l’allocation et de la définition des membres de la LVITEMINDEX structure pointées par le pItemIndex paramètre.

Cette méthode envoie le LVM_GETNEXTITEMINDEX message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::GetNextSelectedItem

Obtient l’index de l’élément de liste identifié par pos, puis définit pos la valeur POSITION.

int GetNextSelectedItem(POSITION& pos) const;

Paramètres

pos
Référence à une valeur POSITION retournée par un appel précédent à GetNextSelectedItem ou GetFirstSelectedItemPosition. La valeur est mise à jour à la position suivante par cet appel.

Valeur de retour

Index de l’élément de liste identifié par pos.

Notes

Vous pouvez utiliser GetNextSelectedItem dans une boucle d’itération avant si vous établissez la position initiale avec un appel à GetFirstSelectedItemPosition.

Vous devez vous assurer que votre POSITION valeur est valide. S’il n’est pas valide, la version de débogage de la bibliothèque de classes Microsoft Foundation affirme.

Exemple

L’exemple de code suivant illustre l’utilisation de cette fonction.

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

Récupère le nombre actuel de zones de travail pour un contrôle d’affichage de liste.

UINT GetNumberOfWorkAreas() const;

Valeur de retour

Non utilisé pour l’instant.

Notes

Cette fonction membre implémente le comportement de la macro Win32, ListView_GetNumberOfWorkAreascomme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

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

Récupère la couleur de la bordure d’un contrôle d’affichage de liste.

COLORREF GetOutlineColor() const;

Valeur de retour

Retourne une COLORREF structure contenant la couleur du contour.

Notes

Cette fonction membre émule les fonctionnalités du LVM_GETOUTLINECOLOR message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::GetOrigin

Récupère l’origine actuelle de l’affichage pour un contrôle d’affichage de liste.

BOOL GetOrigin(LPPOINT lpPoint) const;

Paramètres

lpPoint
Adresse d’une POINT structure qui reçoit l’origine de la vue.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro. Toutefois, si le contrôle est en mode rapport, la valeur de retour est toujours égale à zéro.

CListCtrl::GetSelectedColumn

Récupère l’index de la colonne actuellement sélectionnée dans le contrôle de liste.

UINT GetSelectedColumn() const;

Valeur de retour

Index de la colonne sélectionnée.

Notes

Cette fonction membre émule les fonctionnalités du LVM_GETSELECTEDCOLUMN message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::GetSelectedCount

Récupère le nombre d’éléments sélectionnés dans le contrôle d’affichage de liste.

UINT GetSelectedCount() const;

Valeur de retour

Nombre d’éléments sélectionnés dans le contrôle d’affichage de liste.

Exemple

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

Récupère la marque de sélection d’un contrôle d’affichage de liste.

int GetSelectionMark();

Valeur de retour

Marque de sélection de base zéro, ou -1 s’il n’y a pas de marque de sélection.

Notes

Cette fonction membre implémente le comportement de la macro Win32, ListView_GetSelectionMarkcomme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

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

Détermine la largeur minimale de colonne nécessaire pour afficher l’ensemble d’une chaîne donnée.

int GetStringWidth(LPCTSTR lpsz) const;

Paramètres

lpsz
Adresse d’une chaîne terminée par null dont la largeur doit être déterminée.

Valeur de retour

Largeur, en pixels, de la chaîne pointée par lpsz.

Notes

La largeur retournée prend en compte les marges de police et de colonne actuelles du contrôle, mais pas la largeur d’une petite icône.

Exemple

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

Récupère le rectangle englobant d’un élément dans un contrôle d’affichage de liste.

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

Paramètres

iItem
Index de l’élément parent du sous-élément.

iSubItem
Index de base unique du sous-élément.

nArea
Détermine la partie du rectangle englobant (sous-élément de l’affichage de liste) à récupérer. La partie (icône, étiquette ou les deux) du rectangle englobant est spécifiée en appliquant l’opérateur au niveau OR du bit à une ou plusieurs des valeurs suivantes :

  • LVIR_BOUNDS Retourne le rectangle englobant de l’élément entier, y compris l’icône et l’étiquette.
  • LVIR_ICON Retourne le rectangle englobant de l’icône ou de la petite icône.
  • LVIR_LABEL Retourne le rectangle englobant de l’élément entier, y compris l’icône et l’étiquette. C’est identique à LVIR_BOUNDS.

ref
Référence à un CRect objet qui contient les coordonnées du rectangle englobant du sous-élément.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Notes

Cette fonction membre implémente le comportement de la macro Win32, ListView_GetSubItemRectcomme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::GetTextBkColor

Récupère la couleur d’arrière-plan du texte d’un contrôle d’affichage de liste.

COLORREF GetTextBkColor() const;

Valeur de retour

Valeur 32 bits utilisée pour spécifier une couleur RVB.

Exemple

Consultez l’exemple pour CListCtrl::SetTextBkColor.

CListCtrl::GetTextColor

Récupère la couleur de texte d’un contrôle d’affichage de liste.

COLORREF GetTextColor() const;

Valeur de retour

Valeur 32 bits utilisée pour spécifier une couleur RVB.

Exemple

Consultez l’exemple pour CListCtrl::SetTextColor.

CListCtrl::GetTileInfo

Récupère des informations sur une vignette dans un contrôle d’affichage de liste.

BOOL GetTileInfo(PLVTILEINFO plvti) const;

Paramètres

plvti
Pointeur vers une LVTILEINFO structure qui reçoit les informations de vignette.

Valeur de retour

La valeur de retour n’est pas utilisée.

Notes

Cette fonction membre émule les fonctionnalités du LVM_GETTILEINFO message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::GetTileViewInfo

Récupère des informations sur un contrôle d’affichage de liste en mode vignette.

BOOL GetTileViewInfo(PLVTILEVIEWINFO ptvi) const;

Paramètres

ptvi
Pointeur vers une LVTILEVIEWINFO structure qui reçoit les informations récupérées.

Valeur de retour

La valeur de retour n’est pas utilisée.

Notes

Cette fonction membre émule les fonctionnalités du LVM_GETTILEVIEWINFO message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::GetToolTips

Récupère le contrôle d’info-bulle utilisé par le contrôle d’affichage de liste pour afficher les info-bulles.

CToolTipCtrl* GetToolTips() const;

Valeur de retour

Pointeur vers un CToolTipCtrl objet à utiliser par le contrôle de liste. Si la Create fonction membre utilise le style LVS_NOTOOLTIPS, aucune info-bulle n’est utilisée et NULL est retournée.

Notes

Cette fonction membre implémente le comportement du message LVM_GETTOOLTIPSWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows. L’implémentation MFC de GetToolTips retourne un CToolTipCtrl objet, qui est utilisé par le contrôle de liste, plutôt qu’un handle pour un contrôle d’info-bulle.

Exemple

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

CListCtrl::GetTopIndex

Récupère l’index de l’élément visible le plus haut lors de l’affichage liste ou de l’affichage rapport.

int GetTopIndex() const;

Valeur de retour

Index de l’élément visible le plus haut.

Exemple

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

Obtient l’affichage du contrôle d’affichage de liste.

DWORD GetView() const;

Valeur de retour

Vue actuelle du contrôle d’affichage de liste.

Notes

Cette fonction membre émule les fonctionnalités du LVM_GETVIEW message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::GetViewRect

Récupère le rectangle englobant de tous les éléments du contrôle d’affichage de liste.

BOOL GetViewRect(LPRECT lpRect) const;

Paramètres

lpRect
Adresse d’une RECT structure.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Notes

L’affichage liste doit être en mode icône ou en mode petite icône.

CListCtrl::GetWorkAreas

Récupère les zones de travail actuelles d’un contrôle d’affichage de liste.

void GetWorkAreas(
    int nWorkAreas,
    LPRECT pRect) const;

Paramètres

nWorkAreas
Nombre de RECT structures contenues dans le pRect tableau.

pRect
Pointeur vers un tableau de structures (ou CRect d’objetsRECT) qui reçoivent les zones de travail du contrôle d’affichage de liste. Les valeurs de ces structures se trouvent dans les coordonnées du client.

Notes

Cette fonction membre implémente le comportement de la macro Win32, ListView_GetWorkAreascomme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

Consultez l’exemple pour CListCtrl::GetNumberOfWorkAreas.

CListCtrl::HasGroup

Détermine si le contrôle d’affichage de liste a le groupe spécifié.

BOOL HasGroup(int iGroupId) const;

Paramètres

iGroupId
Identificateur du groupe demandé.

Valeur de retour

Retourne TRUE en cas de réussite, FALSE en cas d’échec.

Notes

Cette fonction membre émule les fonctionnalités du LVM_HASGROUP message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::HitTest

Détermine l’élément d’affichage de liste, le cas échéant, à une position spécifiée.

int HitTest(LVHITTESTINFO* pHitTestInfo) const;

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

Paramètres

pHitTestInfo
Adresse d’une LVHITTESTINFO structure qui contient la position à tester et qui reçoit des informations sur les résultats du test de positionnement.

pt
Point à tester.

pFlags
Pointeur vers un entier qui reçoit des informations sur les résultats du test. Consultez l’explication du flags membre de la LVHITTESTINFO structure dans le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Index de l’élément à la position spécifiée par pHitTestInfo, le cas échéant, ou -1 dans le cas contraire.

Notes

Vous pouvez utiliser les LVHT_ABOVEvaleurs , et LVHT_TORIGHTLVHT_BELOWLVHT_TOLEFTles valeurs du membre de la structure pour déterminer s’il faut faire défiler le contenu d’un flag contrôle d’affichage de liste. Deux de ces indicateurs peuvent être combinés, par exemple, si la position est au-dessus et à gauche de la zone cliente.

Vous pouvez tester la LVHT_ONITEM valeur du membre de flag la structure pour déterminer si une position donnée est sur un élément d’affichage de liste. Cette valeur est une opération or au niveau du bit sur le LVHT_ONITEMLABELLVHT_ONITEMICONmembre de la structureflag, et LVHT_ONITEMSTATEICON les valeurs.

Exemple

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

Insère une nouvelle colonne dans un contrôle d’affichage de liste.

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

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

Paramètres

nCol
Index de la nouvelle colonne.

pColumn
Adresse d’une LVCOLUMN structure qui contient les attributs de la nouvelle colonne.

lpszColumnHeading
Adresse d’une chaîne contenant l’en-tête de la colonne.

nFormat
Entier spécifiant l’alignement de la colonne. Il peut s’agir de l’une de ces valeurs : LVCFMT_LEFT, ou LVCFMT_RIGHTLVCFMT_CENTER.

nWidth
Largeur de la colonne, en pixels. Si ce paramètre est -1, la largeur de colonne n’est pas définie.

nSubItem
Index du sous-élément associé à la colonne. Si ce paramètre est -1, aucun sous-élément n’est associé à la colonne.

Valeur de retour

Index de la nouvelle colonne si elle réussit ou -1 sinon.

Notes

La colonne la plus à gauche d’un contrôle d’affichage de liste doit être alignée à gauche.

La LVCOLUMN structure contient les attributs d’une colonne en mode rapport. Il est également utilisé pour recevoir des informations sur une colonne. Cette structure est décrite dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::InsertGroup

Insère un groupe dans le contrôle d’affichage de liste.

LRESULT InsertGroup(
    int index,
    PLVGROUP pgrp);

Paramètres

index
Index de l’élément dans lequel le groupe doit être inséré.

pgrp
Pointeur vers une LVGROUP structure contenant le groupe à ajouter.

Valeur de retour

Retourne l’index de l’élément auquel le groupe a été ajouté, ou -1 si l’opération a échoué.

Notes

Cette fonction membre émule les fonctionnalités du LVM_INSERTGROUP message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::InsertGroupSorted

Insère le groupe spécifié dans une liste triée de groupes.

LRESULT InsertGroupSorted(PLVINSERTGROUPSORTED pStructInsert);

Paramètres

pStructInsert
Pointeur vers une LVINSERTGROUPSORTED structure qui contient le groupe à insérer.

Valeur de retour

La valeur de retour n’est pas utilisée.

Notes

Cette fonction membre émule les fonctionnalités du LVM_INSERTGROUPSORTED message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::InsertItem

Insère un élément dans le contrôle d’affichage de liste.

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

Paramètres

pItem
Pointeur vers une structure LVITEM qui spécifie les attributs de l’élément, comme décrit dans le Kit de développement logiciel (SDK) Windows.

nItem
Index de l’élément à insérer.

lpszItem
Adresse d’une chaîne contenant l’étiquette de l’élément ou LPSTR_TEXTCALLBACK si l’élément est un élément de rappel. Pour plus d’informations sur les éléments de rappel, consultez CListCtrl::GetCallbackMask.

nImage
Index de l’image de l’élément ou I_IMAGECALLBACK si l’élément est un élément de rappel. Pour plus d’informations sur les éléments de rappel, consultez CListCtrl::GetCallbackMask.

nMask
Le nMask paramètre spécifie les attributs d’élément passés en tant que paramètres valides. Il peut s’agir d’une ou plusieurs valeurs de masque décrites dans LVITEM Structure dans le Kit de développement logiciel (SDK) Windows. Les valeurs valides peuvent être combinées avec l’opérateur OR au niveau du bit.

nState
Indique l’état, l’image d’état et la superposition de l’élément. Pour plus d’informations, consultez la structure des rubriques LVITEM du Kit de développement logiciel (SDK) Windows et les états des éléments d’affichage de liste pour obtenir une liste d’indicateurs valides.

nStateMask
Indique les bits du membre d’état qui seront récupérés ou modifiés. Pour plus d’informations, consultez LVITEM Structure dans le Kit de développement logiciel (SDK) Windows.

lParam
Valeur spécifique à l’application 32 bits (64 bits si vous compilez pour x64) associée à l’élément. Si ce paramètre est spécifié, vous devez définir l’attribut nMaskLVIF_PARAM.

Valeur de retour

Index du nouvel élément s’il réussit ou -1 sinon.

Notes

L’appel de cette méthode peut entraîner l’envoi du LVM_INSERTITEM message à votre fenêtre de contrôle. Le gestionnaire de messages associé pour le contrôle peut échouer à définir le texte de l’élément dans certaines conditions (par exemple, à l’aide de styles de fenêtre tels que LVS_OWNERDRAW). Pour plus d’informations sur ces conditions, consultez LVM_INSERTITEM le Kit de développement logiciel (SDK) Windows.

Exemple

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

Récupère le point d’insertion le plus proche d’un point spécifié.

int InsertMarkHitTest(
    LPPOINT pPoint,
    LPLVINSERTMARK plvim) const;

Paramètres

pPoint
Pointeur vers une POINT structure qui contient les coordonnées de test d’accès, par rapport à la zone cliente du contrôle de liste.

plvim
Pointeur vers une LVINSERTMARK structure qui spécifie le point d’insertion le plus proche des coordonnées définies par le paramètre de point.

Valeur de retour

Point d’insertion le plus proche du point spécifié.

Notes

Cette fonction membre émule les fonctionnalités du LVM_INSERTMARKHITTEST message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::IsGroupViewEnabled

Détermine si l’affichage de groupe est activé pour un contrôle d’affichage de liste.

BOOL IsGroupViewEnabled() const;

Valeur de retour

Retourne TRUE si l’affichage de groupe est activé, ou FALSE sinon.

Notes

Cette fonction membre émule les fonctionnalités du LVM_ISGROUPVIEWENABLED message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::IsItemVisible

Indique si un élément spécifié dans le contrôle d’affichage liste actuel est visible.

BOOL IsItemVisible(int index) const;

Paramètres

index
[in] Index de base zéro d’un élément dans le contrôle d’affichage liste actuel.

Valeur de retour

TRUE si l’élément spécifié est visible ; sinon, FALSE.

Notes

Cette méthode envoie le LVM_ISITEMVISIBLE message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::MapIDToIndex

Cartes l’ID unique d’un élément dans le contrôle d’affichage de liste actuel sur un index.

UINT MapIDToIndex(UINT id) const;

Paramètres

id
[in] ID unique d’un élément.

Valeur de retour

Index actuel de l’ID spécifié.

Notes

Un contrôle d’affichage de liste effectue en interne le suivi des éléments par index. Cela peut présenter des problèmes, car les index peuvent changer pendant la durée de vie du contrôle. Le contrôle d’affichage de liste peut étiqueter un élément avec un ID lorsque l’élément est créé et vous pouvez utiliser cet ID pour garantir l’unicité pendant la durée de vie du contrôle d’affichage de liste.

Dans un environnement multithread, l’index est garanti uniquement sur le thread qui héberge le contrôle d’affichage de liste, et non sur les threads d’arrière-plan.

Cette méthode envoie le LVM_MAPIDTOINDEX message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::MapIndexToID

Cartes l’index d’un élément dans le contrôle d’affichage de liste actuel à un ID unique.

UINT MapIndexToID(UINT index) const;

Paramètres

index
[in] Index de base zéro d’un élément.

Valeur de retour

ID unique de l’élément spécifié.

Notes

Un contrôle d’affichage de liste effectue en interne le suivi des éléments par index. Cela peut présenter des problèmes, car les index peuvent changer pendant la durée de vie du contrôle. Le contrôle d’affichage de liste peut étiqueter un élément avec un ID lors de la création de l’élément. Vous pouvez utiliser cet ID pour accéder à un élément spécifique pendant la durée de vie du contrôle list-view.

Dans un environnement multithread, l’index est garanti uniquement sur le thread qui héberge le contrôle d’affichage de liste, et non sur les threads d’arrière-plan.

Cette méthode envoie le LVM_MAPINDEXTOID message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

Le premier exemple de code définit une variable, m_listCtrlutilisée pour accéder au contrôle d’affichage liste actuel. Cette variable est utilisée dans l'exemple suivant.

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

L’exemple de code suivant illustre la MapIndexToID méthode. Dans une section antérieure de cet exemple de code, nous avons créé un contrôle d’affichage de liste qui affiche deux colonnes intitulées « ClientID » et « Grade » dans une vue de rapport. L’exemple suivant mappe l’index de chaque élément d’affichage de liste à un numéro d’identification, puis récupère l’index pour chaque numéro d’identification. Enfin, l’exemple indique si les index d’origine ont été récupérés.

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

Déplace le groupe spécifié vers l’index de base zéro spécifié du contrôle d’affichage de liste.

LRESULT MoveGroup(
    int iGroupId,
    int toIndex);

Paramètres

iGroupId
Identificateur du groupe à déplacer.

toIndex
Index de base zéro où le groupe doit être déplacé.

Valeur de retour

La valeur de retour n’est pas utilisée.

Notes

Cette fonction membre émule les fonctionnalités du LVM_MOVEGROUP message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::MoveItemToGroup

Déplace l’élément spécifié dans le groupe spécifié.

void MoveItemToGroup(
    int idItemFrom,
    int idGroupTo);

Paramètres

idItemFrom
[in] Index de l’élément à déplacer.

idGroupTo
[in] Identificateur du groupe vers lequel l’élément sera déplacé.

Notes

Remarque

Cette méthode n’est actuellement pas implémentée.

Cette méthode émule les fonctionnalités du LVM_MOVEITEMTOGROUP message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::RedrawItems

Force un contrôle d’affichage de liste à repeindre une plage d’éléments.

BOOL RedrawItems(
    int nFirst,
    int nLast);

Paramètres

nFirst
Index du premier élément à repeindre.

nLast
Index du dernier élément à repeindre.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Notes

Les éléments spécifiés ne sont pas repeints tant que la fenêtre d’affichage de liste ne reçoit pas un message WM_PAINT. Pour répliquer immédiatement, appelez la fonction Windows UpdateWindow après avoir utilisé cette fonction.

CListCtrl::RemoveAllGroups

Supprime tous les groupes d’un contrôle d’affichage de liste.

void RemoveAllGroups();

Notes

Cette fonction membre émule les fonctionnalités du LVM_REMOVEALLGROUPS message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::RemoveGroup

Supprime le groupe spécifié du contrôle d’affichage de liste.

LRESULT RemoveGroup(int iGroupId);

Paramètres

iGroupId
Identificateur du groupe à supprimer.

Valeur de retour

Retourne l’index du groupe en cas de réussite, ou -1 sinon.

Notes

Cette fonction membre émule les fonctionnalités du LVM_REMOVEGROUP message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::Scroll

Fait défiler le contenu d’un contrôle d’affichage de liste.

BOOL Scroll(CSize size);

Paramètres

size
Objet CSize spécifiant la quantité de défilement horizontal et vertical, en pixels. Le y membre de taille est divisé par la hauteur, en pixels, de la ligne du contrôle d’affichage de liste et le contrôle fait défiler le nombre de lignes résultant.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

CListCtrl::SetBkColor

Définit la couleur d’arrière-plan du contrôle d’affichage de liste.

BOOL SetBkColor(COLORREF cr);

Paramètres

cr
Couleur d’arrière-plan à définir ou valeur CLR_NONE pour aucune couleur d’arrière-plan. Les contrôles d’affichage de liste avec des couleurs d’arrière-plan se redessinent considérablement plus rapidement que ceux sans couleurs d’arrière-plan. Pour plus d’informations, consultez COLORREF le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Exemple

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

Définit l’image d’arrière-plan d’un contrôle d’affichage de liste.

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

Paramètres

plvbkImage
Adresse d’une LVBKIMAGE structure contenant les nouvelles informations d’image d’arrière-plan.

hBitmap
Handle vers une bitmap.

pszUrl
Chaîne NULL-terminated qui contient l’URL de l’image d’arrière-plan.

fTile
Différent de zéro si l’image doit être mosaïque en arrière-plan du contrôle d’affichage de liste ; sinon 0.

xOffsetPercent
Décalage, en pixels, du bord gauche de l’image, à partir de l’origine du contrôle d’affichage de liste.

yOffsetPercent
Décalage, en pixels, du bord supérieur de l’image, à partir de l’origine du contrôle d’affichage de liste.

Valeur de retour

Retourne une valeur différente de zéro si elle réussit ou zéro dans le cas contraire.

Notes

Remarque

Étant donné que CListCtrl::SetBkImage l’utilisation de la fonctionnalité OLE COM est effectuée, les bibliothèques OLE doivent être initialisées avant d’utiliser SetBkImage. Il est préférable d’initialiser les bibliothèques COM lorsque l’application est initialisée et non initialisée dans les bibliothèques lorsque l’application se termine. Cette opération est effectuée automatiquement dans les applications MFC qui utilisent la technologie ActiveX, OLE Automation, OLE Linking/Embedding ou les opérations ODBC/DAO.

Exemple

Consultez l’exemple pour CListCtrl::GetBkImage.

CListCtrl::SetCallbackMask

Définit le masque de rappel pour un contrôle d’affichage de liste.

BOOL SetCallbackMask(UINT nMask);

Paramètres

nMask
Nouvelle valeur du masque de rappel.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Exemple

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

Détermine si l’image d’état d’un élément de contrôle de liste est visible.

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

Paramètres

nItem
Index de base zéro d’un élément de contrôle de liste.

fCheck
Spécifie si l’image d’état de l’élément doit être visible ou non. Par défaut, fCheck l’image d’état TRUE est visible. Si fCheck c’est FALSEle cas, il n’est pas visible.

Valeur de retour

Différent de zéro si l’élément est case activée ed, sinon 0.

Exemple

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

Définit les attributs d’une colonne d’affichage de liste.

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

Paramètres

nCol
Index de la colonne dont les attributs doivent être définis.

pColumn
Adresse d’une LVCOLUMN structure qui contient les nouveaux attributs de colonne, comme décrit dans le Kit de développement logiciel (SDK) Windows. Le membre de la structure spécifie les attributs de mask colonne à définir. Si le mask membre spécifie la LVCF_TEXT valeur, le membre de pszText la structure est l’adresse d’une chaîne terminée par null et le membre de cchTextMax la structure est ignoré.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Exemple

Consultez l’exemple pour CListCtrl::GetColumn.

CListCtrl::SetColumnOrderArray

Définit l’ordre des colonnes (de gauche à droite) d’un contrôle d’affichage de liste.

BOOL SetColumnOrderArray(
    int iCount,
    LPINT piArray);

Paramètres

piArray
Pointeur vers une mémoire tampon contenant les valeurs d’index des colonnes dans le contrôle d’affichage de liste (de gauche à droite). La mémoire tampon doit être suffisamment grande pour contenir le nombre total de colonnes dans le contrôle d’affichage liste.

iCount
Nombre de colonnes dans le contrôle d’affichage de liste.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Notes

Cette fonction membre implémente le comportement de la macro Win32, ListView_SetColumnOrderArraycomme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

Consultez l’exemple pour CListCtrl::GetColumnOrderArray.

CListCtrl::SetColumnWidth

Modifie la largeur d’une colonne en mode rapport ou en mode liste.

BOOL SetColumnWidth(
    int nCol,
    int cx);

Paramètres

nCol
Index de la colonne pour laquelle la largeur doit être définie. Dans l’affichage liste, ce paramètre doit être 0.

cx
Nouvelle largeur de la colonne. Peut être soit LVSCW_AUTOSIZE , LVSCW_AUTOSIZE_USEHEADERcomme décrit dans LVM_SETCOLUMNWIDTH le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

CListCtrl::SetExtendedStyle

Définit les styles étendus actuels d’un contrôle d’affichage de liste.

DWORD SetExtendedStyle(DWORD dwNewStyle);

Paramètres

dwNewStyle
Combinaison de styles étendus à utiliser par le contrôle d’affichage de liste. Pour obtenir une liste descriptive de ces styles, consultez la rubrique Styles d’affichage de liste étendue dans le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Combinaison des styles étendus précédents utilisés par le contrôle d’affichage de liste.

Notes

Cette fonction membre implémente le comportement de la macro Win32, ListView_SetExtendedListViewStylecomme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

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

CListCtrl::SetGroupInfo

Définit les informations qui décrivent le groupe spécifié du contrôle list-view actif.

int SetGroupInfo(
    int iGroupId,
    PLVGROUP pgrp);

Paramètres

iGroupId
Identificateur du groupe dont les informations sont définies.

pgrp
Pointeur vers une LVGROUP structure qui contient les informations à définir. L’appelant est responsable de l’allocation de cette structure et de la définition de ses membres.

Valeur de retour

ID du groupe si la méthode réussit ; sinon, -1.

Notes

Cette méthode envoie le LVM_SETGROUPINFO message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::SetGroupMetrics

Définit les métriques de groupe d’un contrôle d’affichage de liste.

void SetGroupMetrics(PLVGROUPMETRICS pGroupMetrics);

Paramètres

pGroupMetrics
Pointeur vers une LVGROUPMETRICS structure contenant les informations de métriques de groupe à définir.

Notes

Cette fonction membre émule les fonctionnalités du LVM_SETGROUPMETRICS message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::SetHotCursor

Définit le curseur utilisé lorsque le suivi à chaud est activé pour un contrôle d’affichage de liste.

HCURSOR SetHotCursor(HCURSOR hc);

Paramètres

hc
Handle vers une ressource de curseur, utilisé pour représenter le curseur actif.

Valeur de retour

Handle de la ressource de curseur chaud précédente utilisée par le contrôle d’affichage de liste.

Notes

Cette fonction membre implémente le comportement de la macro Win32, ListView_SetHotCursorcomme décrit dans le Kit de développement logiciel (SDK) Windows.

Le curseur actif, visible uniquement lorsque la sélection de pointage est activée, apparaît lorsque le curseur passe sur n’importe quel élément d’affichage de liste. La sélection de pointage est activée en définissant le LVS_EX_TRACKSELECT style étendu.

Exemple

Consultez l’exemple pour CListCtrl::GetHotCursor.

CListCtrl::SetHotItem

Définit l’élément actif d’un contrôle d’affichage de liste.

int SetHotItem(int iIndex);

Paramètres

iIndex
Index de base zéro de l’élément à définir comme élément actif.

Valeur de retour

Index de base zéro de l’élément à chaud précédemment.

Notes

Cette fonction membre implémente le comportement de la macro Win32, ListView_SetHotItemcomme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

Consultez l’exemple pour CListCtrl::GetHotItem.

CListCtrl::SetHoverTime

Définit l’heure actuelle du pointage d’un contrôle d’affichage de liste.

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

Paramètres

dwHoverTime
Nouveau délai, en millisecondes, que le curseur de la souris doit pointer sur un élément avant d’être sélectionné. Si la valeur par défaut est passée, l’heure est définie sur l’heure de pointage par défaut.

Valeur de retour

Heure de pointage précédente, en millisecondes.

Notes

Cette fonction membre implémente le comportement de la macro Win32, ListView_SetHoverTimecomme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

Consultez l’exemple pour CListCtrl::GetHoverTime.

CListCtrl::SetIconSpacing

Définit l’espacement entre les icônes d’un contrôle d’affichage de liste.

CSize SetIconSpacing(
    int cx,
    int cy);

CSize SetIconSpacing(CSize size);

Paramètres

cx
Distance (en pixels) entre les icônes de l’axe x.

cy
Distance (en pixels) entre les icônes de l’axe y.

size
Objet CSize spécifiant la distance (en pixels) entre les icônes sur les axes x et y.

Valeur de retour

Objet CSize contenant les valeurs précédentes pour l’espacement des icônes.

Notes

Cette fonction membre implémente le comportement de la macro Win32, ListView_SetIconSpacingcomme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

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

CListCtrl::SetImageList

Affecte une liste d’images à un contrôle d’affichage de liste.

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

Paramètres

pImageList
Pointeur vers la liste d’images à affecter.

nImageListType
Type de liste d’images. Il peut s’agir de l’une des valeurs suivantes :

  • LVSIL_NORMAL Liste d’images avec des icônes volumineuses.
  • LVSIL_SMALL Liste d’images avec de petites icônes.
  • LVSIL_STATE Liste d’images avec des images d’état.

Valeur de retour

Pointeur vers la liste d’images précédente.

Exemple

Consultez l’exemple pour CListCtrl::GetImageList.

CListCtrl::SetInfoTip

Définit le texte de l’info-bulle.

BOOL SetInfoTip(PLVSETINFOTIP plvInfoTip);

Paramètres

plvInfoTip
Pointeur vers une LVFSETINFOTIP structure contenant les informations à définir.

Valeur de retour

Retourne TRUE en cas de réussite, FALSE en cas d’échec.

Notes

Cette fonction membre émule les fonctionnalités du LVM_SETINFOTIP message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::SetInsertMark

Définit le point d’insertion à la position définie.

BOOL SetInsertMark(LPLVINSERTMARK plvim);

Paramètres

plvim
Pointeur vers une LVINSERTMARK structure spécifiant où définir le point d’insertion.

Valeur de retour

Retourne TRUE si elle réussit ou FALSE si elle réussit. FALSE est retourné si la taille dans le cbSize membre de la LVINSERTMARK structure n’est pas égale à la taille réelle de la structure, ou lorsqu’un point d’insertion ne s’applique pas dans l’affichage actuel.

Notes

Cette fonction membre émule les fonctionnalités du LVM_SETINSERTMARK message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::SetInsertMarkColor

Définit la couleur du point d’insertion.

COLORREF SetInsertMarkColor(COLORREF color);

Paramètres

color
Structure COLORREF spécifiant la couleur pour définir le point d’insertion.

Valeur de retour

Retourne une COLORREF structure contenant la couleur précédente.

Notes

Cette fonction membre émule les fonctionnalités du LVM_SETINSERTMARKCOLOR message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::SetItem

Définit certains ou tous les attributs d’un élément d’affichage de liste.

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

Paramètres

pItem
Adresse d’une LVITEM structure qui contient les nouveaux attributs d’élément, comme décrit dans le Kit de développement logiciel (SDK) Windows. Les membres et iSubItem les membres de iItem la structure identifient l’élément ou le sous-élément, et le membre de mask la structure spécifie les attributs à définir. Pour plus d’informations sur le mask membre, consultez les remarques.

nItem
Index de l’élément dont les attributs doivent être définis.

nSubItem
Index du sous-élément dont les attributs doivent être définis.

nMask
Spécifie les attributs à définir (voir les remarques).

lpszItem
Adresse d’une chaîne terminée par null spécifiant l’étiquette de l’élément.

nImage
Index de l’image de l’élément dans la liste d’images.

nState
Spécifie les valeurs des états à modifier (voir les remarques).

nStateMask
Spécifie les états à modifier (voir les remarques).

lParam
Valeur spécifique à l’application 32 bits (64 bits si vous compilez pour x64) une valeur spécifique à l’application à associer à l’élément.

nIndent
Largeur, en pixels, de la mise en retrait. Si nIndent elle est inférieure à la largeur minimale définie par le système, la nouvelle largeur est définie sur le minimum défini par le système

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Notes

Les iItem membres et iSubItem les membres de la LVITEM structure et des nItemnSubItem paramètres identifient l’élément et le sous-élément dont les attributs doivent être définis.

Membre mask de la LVITEM structure et du nMask paramètre qui spécifient les attributs d’élément à définir :

  • LVIF_TEXT Le pszText membre ou le lpszItem paramètre est l’adresse d’une chaîne terminée par null ; le cchTextMax membre est ignoré.
  • LVIF_STATELe membre ou nStateMask le stateMask paramètre spécifie les états d’élément à modifier et le membre ou nState le state paramètre contient les valeurs de ces états.

Exemple

Consultez l’exemple pour CListCtrl::HitTest.

CListCtrl::SetItemCount

Prépare un contrôle d’affichage de liste pour ajouter un grand nombre d’éléments.

void SetItemCount(int nItems);

Paramètres

nItems
Nombre d’éléments que le contrôle contiendra finalement.

Notes

Pour définir le nombre d’éléments pour un contrôle d’affichage de liste virtuelle, consultez CListCtrl::SetItemCountEx.

Cette fonction membre implémente le comportement de la macro Win32, ListView_SetItemCountcomme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

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

Définit le nombre d’éléments pour un contrôle d’affichage de liste virtuelle.

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

Paramètres

iCount
Nombre d’éléments que le contrôle contiendra finalement.

dwFlags
Spécifie le comportement du contrôle d’affichage de liste après avoir réinitialisé le nombre d’éléments. Cette valeur peut être une combinaison des éléments suivants :

  • LVSICF_NOINVALIDATEALL Le contrôle d’affichage de liste ne repeint pas, sauf si les éléments affectés sont actuellement affichés. Il s’agit de la valeur par défaut.
  • LVSICF_NOSCROLL Le contrôle d’affichage de liste ne modifie pas la position de défilement lorsque le nombre d’éléments change.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Notes

Cette fonction membre implémente le comportement de la macro Win32, ListView_SetItemCountExcomme décrit dans windows SDKand ne doit être appelé que pour les vues de liste virtuelle.

Exemple

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

Définit la valeur 32 bits (64 bits si vous compilez pour x64) une valeur spécifique à l’application associée à l’élément spécifié par nItem.

BOOL SetItemData(int nItem, DWORD_PTR dwData);

Paramètres

nItem
Index de l’élément de liste dont les données doivent être définies.

dwData
Valeur 32 bits (64 bits si vous compilez pour x64) à associer à l’élément.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Cette valeur est membre lParam de la LVITEM structure, comme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

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

Définit l’état d’un élément dans le contrôle d’affichage liste actuel.

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

Paramètres

pItemIndex
[in] Pointeur vers une LVITEMINDEX structure qui décrit un élément. L’appelant est responsable de l’allocation de cette structure et de la définition de ses membres.

dwState
[in] État à définir l’élément, qui est une combinaison de bits d’états d’élément d’affichage de liste. Spécifiez zéro pour réinitialiser ou définir un état.

dwMask
[in] Masque des bits valides de l’état spécifié par le dwState paramètre. Spécifiez une combinaison de bits (OR) d’états d’élément d’affichage de liste.

Valeur de retour

TRUE si cette méthode réussit ; sinon, FALSE.

Notes

Pour plus d’informations sur le dwState paramètre, consultez Les états d’élément d’affichage de liste.

Pour plus d’informations sur le dwMask paramètre, consultez le stateMask membre de la LVITEM structure.

Cette méthode envoie le LVM_SETITEMINDEXSTATE message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::SetItemPosition

Déplace un élément vers une position spécifiée dans un contrôle d’affichage de liste.

BOOL SetItemPosition(
    int nItem,
    POINT pt);

Paramètres

nItem
Index de l’élément dont la position doit être définie.

pt
Structure POINT spécifiant la nouvelle position, en coordonnées d’affichage, du coin supérieur gauche de l’élément.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Notes

Le contrôle doit être en mode icône ou petite icône.

Si le contrôle d’affichage de liste a le LVS_AUTOARRANGE style, l’affichage de liste est organisé après la définition de la position de l’élément.

Exemple

Consultez l’exemple pour CListCtrl::GetItemPosition.

CListCtrl::SetItemState

Modifie l’état d’un élément dans un contrôle d’affichage de liste.

BOOL SetItemState(
    int nItem,
    LVITEM* pItem);

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

Paramètres

nItem
Index de l’élément dont l’état doit être défini. Passez -1 pour appliquer la modification de l’état à tous les éléments.

pItem
Adresse d’une LVITEM structure, comme décrit dans le Kit de développement logiciel (SDK) Windows. Le membre de stateMask la structure spécifie les bits d’état à modifier et le membre de state la structure contient les nouvelles valeurs de ces bits. Les autres membres sont ignorés.

nState
Nouvelles valeurs pour les bits d’état. Pour obtenir la liste des valeurs possibles, consultez CListCtrl::GetNextItem et le membre d’état LVITEM .

nMask
Masque en spécifiant les bits d’état à modifier. Cette valeur correspond au membre stateMask de la LVITEM structure.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Notes

L’état d’un élément est une valeur qui spécifie la disponibilité de l’élément, indique les actions utilisateur ou reflète l’état de l’élément. Un contrôle d’affichage de liste modifie certains bits d’état, par exemple lorsque l’utilisateur sélectionne un élément. Une application peut modifier d’autres bits d’état pour désactiver ou masquer l’élément, ou pour spécifier une image de superposition ou une image d’état.

Exemple

Consultez l’exemple pour CListCtrl::GetTopIndex.

CListCtrl::SetItemText

Modifie le texte d’un élément d’affichage de liste ou d’un sous-élément.

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

Paramètres

nItem
Index de l’élément dont le texte doit être défini.

nSubItem
Index du sous-élément ou zéro pour définir l’étiquette d’élément.

lpszText
Pointeur vers une chaîne qui contient le texte du nouvel élément.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Notes

Cette méthode n’est pas destinée à être utilisée avec des contrôles contenant le LVS_OWNERDATA style de fenêtre (en fait, cela entraîne une assertion dans les builds Debug). Pour plus d’informations sur ce style de contrôle de liste, consultez Vue d’ensemble des contrôles d’affichage de liste.

Exemple

Consultez l’exemple pour CListCtrl::InsertItem.

CListCtrl::SetOutlineColor

Définit la couleur de la bordure d’un contrôle d’affichage de liste si le LVS_EX_BORDERSELECT style de fenêtre étendu est défini.

COLORREF SetOutlineColor(COLORREF color);

Paramètres

color
Nouvelle COLORREF structure contenant la couleur du contour.

Valeur de retour

Structure précédente COLORREF contenant la couleur du contour

Notes

Cette fonction membre émule les fonctionnalités du LVM_SETOUTLINECOLOR message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl ::SetSelectedColumn

Définit la colonne sélectionnée du contrôle d’affichage de liste.

LRESULT SetSelectedColumn(int iCol);

Paramètres

iCol
Index de la colonne à sélectionner.

Valeur de retour

La valeur de retour n’est pas utilisée.

Notes

Cette fonction membre émule les fonctionnalités du LVM_SETSELECTEDCOLUMN message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::SetSelectionMark

Définit la marque de sélection d’un contrôle d’affichage de liste.

int SetSelectionMark(int iIndex);

Paramètres

iIndex
Index de base zéro du premier élément d’une sélection multiple.

Valeur de retour

Marque de sélection précédente, ou -1 s’il n’y avait pas de marque de sélection.

Notes

Cette fonction membre implémente le comportement de la macro Win32, ListView_SetSelectionMarkcomme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

Consultez l’exemple pour CListCtrl::GetSelectionMark.

CListCtrl::SetTextBkColor

Définit la couleur d’arrière-plan du texte dans un contrôle d’affichage de liste.

BOOL SetTextBkColor(COLORREF cr);

Paramètres

cr
Spécification COLORREF de la nouvelle couleur d’arrière-plan de texte. Pour plus d’informations, consultez COLORREF le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Exemple

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

Définit la couleur de texte d’un contrôle d’affichage de liste.

BOOL SetTextColor(COLORREF cr);

Paramètres

cr
Spécification COLORREF de la nouvelle couleur de texte. Pour plus d’informations, consultez COLORREF le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Exemple

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

Définit les informations d’une vignette du contrôle d’affichage de liste.

BOOL SetTileInfo(PLVTILEINFO pTileInfo);

Paramètres

pTileInfo
Pointeur vers une LVTILEINFO structure contenant les informations à définir.

Valeur de retour

Retourne TRUE en cas de réussite, FALSE en cas d’échec.

Notes

Cette fonction membre émule les fonctionnalités du LVM_SETTILEINFO message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::SetTileViewInfo

Définit les informations qu’un contrôle d’affichage de liste utilise en mode vignette.

BOOL SetTileViewInfo(PLVTILEVIEWINFO ptvi);

Paramètres

ptvi
Pointeur vers une LVTILEVIEWINFO structure contenant les informations à définir.

Valeur de retour

Retourne TRUE en cas de réussite, FALSE en cas d’échec.

Notes

Cette fonction membre émule les fonctionnalités du LVM_SETTILEVIEWINFO message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::SetToolTips

Définit le contrôle d’info-bulle que le contrôle d’affichage de liste utilisera pour afficher les info-bulles.

CToolTipCtrl* SetToolTips(CToolTipCtrl* pWndTip);

Paramètres

pWndTip
Pointeur vers un CToolTipCtrl objet que le contrôle de liste utilisera.

Valeur de retour

Pointeur vers un CToolTipCtrl objet contenant l’info-bulle précédemment utilisée par le contrôle, ou NULL si aucune info-bulle n’a été utilisée précédemment.

Notes

Cette fonction membre implémente le comportement du message LVM_SETTOOLTIPSWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows.

Pour ne pas utiliser d’info-bulles, indiquez le LVS_NOTOOLTIPS style lorsque vous créez l’objet CListCtrl .

CListCtrl::SetView

Définit l’affichage du contrôle d’affichage de liste.

DWORD SetView(int iView);

Paramètres

iView
Affichage à sélectionner.

Valeur de retour

Retourne 1 si elle réussit ou -1 sinon. Par exemple, -1 est retourné si la vue n’est pas valide.

Notes

Cette fonction membre émule les fonctionnalités du LVM_SETVIEW message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::SetWorkAreas

Définit la zone dans laquelle les icônes peuvent être affichées dans un contrôle d’affichage de liste.

void SetWorkAreas(
    int nWorkAreas,
    LPRECT lpRect);

Paramètres

nWorkAreas
Nombre de structures (ou d’objetsRECT) dans le tableau pointé par lpRect.CRect

lpRect
Adresse d’un tableau de structures (ou CRect d’objetsRECT) qui spécifient les nouvelles zones de travail du contrôle d’affichage de liste. Ces zones doivent être spécifiées dans les coordonnées du client. Si ce paramètre est NULLdéfini, la zone de travail est définie sur la zone cliente du contrôle.

Notes

Cette fonction membre implémente le comportement de la macro Win32, ListView_SetWorkAreascomme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

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

CListCtrl::SortGroups

Utilise une fonction de comparaison définie par l’application pour trier les groupes par ID dans un contrôle d’affichage de liste.

BOOL SortGroups(
    PFNLVGROUPCOMPARE _pfnGroupCompare,
    LPVOID _plv);

Paramètres

_pfnGroupCompare
Pointeur vers la fonction de comparaison de groupes.

_plv
Pointeur void.

Valeur de retour

Retourne TRUE en cas de réussite, FALSE en cas d’échec.

Notes

Cette fonction membre émule les fonctionnalités du LVM_SORTGROUPS message, comme décrit dans le Kit de développement logiciel (SDK) Windows.

CListCtrl::SortItems

Trie les éléments d’affichage de liste à l’aide d’une fonction de comparaison définie par l’application.

BOOL SortItems(
    PFNLVCOMPARE pfnCompare,
    DWORD_PTR dwData);

Paramètres

pfnCompare
[in] Adresse de la fonction de comparaison définie par l’application.

L’opération de tri appelle la fonction de comparaison chaque fois que l’ordre relatif de deux éléments de liste doit être déterminé. La fonction de comparaison doit être un membre statique d’une classe ou une fonction autonome qui n’est pas membre d’une classe.

dwData
[in] Valeur définie par l’application transmise à la fonction de comparaison.

Valeur de retour

TRUE si la méthode réussit ; sinon FALSE.

Notes

Cette méthode modifie l’index de chaque élément pour refléter la nouvelle séquence.

La fonction de comparaison, pfnComparea la forme suivante :

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

La fonction de comparaison doit retourner une valeur négative si le premier élément doit précéder le deuxième, une valeur positive si le premier élément doit suivre le deuxième ou zéro si les deux éléments sont égaux.

Le lParam1 paramètre est la valeur 32 bits (64 bits si vous compilez pour x64) associée au premier élément comparé, et le lParam2 paramètre est la valeur associée au deuxième élément. Il s’agit des valeurs spécifiées dans le membre de la lParam structure des éléments LVITEM lorsqu’elles ont été insérées dans la liste. Le lParamSort paramètre est identique à la dwData valeur.

Cette méthode envoie le LVM_SORTITEMS message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

Voici une fonction de comparaison simple qui entraîne le tri des éléments en fonction de leurs lParam valeurs.

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

Trie les éléments du contrôle d’affichage de liste actuel à l’aide d’une fonction de comparaison définie par l’application.

BOOL SortItemsEx(
    PFNLVCOMPARE pfnCompare,
    DWORD_PTR dwData);

Paramètres

pfnCompare
[in] Adresse de la fonction de comparaison définie par l’application. L’opération de tri appelle la fonction de comparaison chaque fois que l’ordre relatif de deux éléments de liste doit être déterminé. La fonction de comparaison doit être un membre statique d’une classe ou une fonction autonome qui n’est pas membre d’une classe.

dwData
[in] Valeur définie par l’application passée à la fonction de comparaison.

Valeur de retour

TRUE si cette méthode réussit ; sinon, FALSE.

Notes

Cette méthode modifie l’index de chaque élément pour refléter la nouvelle séquence.

La fonction de comparaison, pfnComparea la forme suivante :

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

Ce message est similaire LVM_SORTITEMS, à l’exception du type d’informations transmises à la fonction de comparaison. Dans LVM_SORTITEMS, lParam1 et lParam2 sont les valeurs des éléments à comparer. Dans LVM_SORTITEMSEX, lParam1 est l’index actuel du premier élément à comparer et lParam2 est l’index actuel du deuxième élément. Vous pouvez envoyer un LVM_GETITEMTEXT message pour récupérer plus d’informations sur un élément.

La fonction de comparaison doit retourner une valeur négative si le premier élément doit précéder le deuxième, une valeur positive si le premier élément doit suivre le deuxième ou zéro si les deux éléments sont égaux.

Remarque

Pendant le processus de tri, le contenu de l’affichage liste est instable. Si la fonction de rappel envoie des messages au contrôle list-view autre que LVM_GETITEM, les résultats sont imprévisibles.

Cette méthode envoie le LVM_SORTITEMSEX message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

Le premier exemple de code définit une variable, m_listCtrlutilisée pour accéder au contrôle d’affichage liste actuel. Cette variable est utilisée dans l'exemple suivant.

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

L’exemple de code suivant illustre la SortItemEx méthode. Dans une section antérieure de cet exemple de code, nous avons créé un contrôle d’affichage de liste qui affiche deux colonnes intitulées « ClientID » et « Grade » dans une vue de rapport. L’exemple de code suivant trie la table à l’aide des valeurs de la colonne « Grade ».

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

    return result;
}

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

CListCtrl::SubItemHitTest

Détermine l’élément d’affichage de liste, le cas échéant, à une position donnée.

int SubItemHitTest(LPLVHITTESTINFO pInfo);

Paramètres

pInfo
Pointeur vers la LVHITTESTINFO structure.

Valeur de retour

Index de base unique de l’élément, ou sous-élément, testé (le cas échéant) ou -1 dans le cas contraire.

Notes

Cette fonction membre implémente le comportement de la macro Win32, ListView_SubItemHitTestcomme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

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

Force le contrôle d’affichage de liste à repeindre l’élément spécifié par nItem.

BOOL Update(int nItem);

Paramètres

nItem
Index de l’élément à mettre à jour.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Notes

Cette fonction organise également le contrôle d’affichage de liste s’il a le LVS_AUTOARRANGE style.

Exemple

Consultez l’exemple pour CListCtrl::GetSelectedCount.

Voir aussi

Exemple ROWLIST MFC
CWnd Classe
Graphique hiérarchique
CImageList Classe