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 |
Mappe l’ID unique d’un élément dans le contrôle d’affichage de liste actuel à un index. |
CListCtrl::MapIndexToID |
Mappe 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.
Vues
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.
Mode 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.
Vue 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 UsingCListCtrl
: 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
CListCtrl
des 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::FindItem
CListCtrl::InsertItem
CListCtrl::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 CListCtrl
des é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 :
Grande icône
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 CListCtrl
des éléments de liste et des listes d’images.
Hiérarchie d'héritage
CListCtrl
Spécifications
En-tête : afxcmn.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_ApproximateViewRect
comme 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 SetExtendedStyle
de .
rect
Spécifie la taille et la position du contrôle de liste. Il peut s’agir d’un objet ou d’une CRect
RECT
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 en cas de réussite, ou zéro dans le cas contraire.
Notes
Cette méthode implémente le comportement de la macro Win32, ListView_GetBkImage
comme 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_GetCheckState
comme 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_GetColumnOrderArray
comme 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_GetExtendedListViewStyle
comme 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_listCtrl
utilisé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_listCtrl
utilisé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_GetHeader
comme 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_GetHotCursor
comme 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_GetHotItem
comme 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_GetHoverTime
comme 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
en cas de réussite, sinon FALSE
. 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_listCtrl
utilisé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’indicateurLVIS_DROPHILITED
d’état défini.LVNI_FOCUSED
L’élément a l’indicateurLVIS_FOCUSED
d’état défini.LVNI_SELECTED
L’élément a l’indicateurLVIS_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_GetNumberOfWorkAreas
comme 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_GetSelectionMark
comme 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_GetSubItemRect
comme 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_GETTOOLTIPS
Win32, comme décrit dans le 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_GetWorkAreas
comme 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_ABOVE
valeurs , et LVHT_TORIGHT
LVHT_BELOW
LVHT_TOLEFT
les 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_ONITEMLABEL
LVHT_ONITEMICON
membre 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_RIGHT
LVCFMT_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 nMask
LVIF_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
Mappe l’ID unique d’un élément dans le contrôle d’affichage de liste actuel à 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
Mappe 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_listCtrl
utilisé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 en cas de réussite, 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 FALSE
le cas, il n’est pas visible.
Valeur de retour
Différent de zéro si l’élément est activé, 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_SetColumnOrderArray
comme 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_USEHEADER
comme 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_SetExtendedListViewStyle
comme 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_SetHotCursor
comme 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_SetHotItem
comme 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_SetHoverTime
comme 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_SetIconSpacing
comme 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
en cas de réussite, sinon FALSE
. 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 nItem
nSubItem
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
LepszText
membre ou lelpszItem
paramètre est l’adresse d’une chaîne terminée par null ; lecchTextMax
membre est ignoré.LVIF_STATE
Le membre ounStateMask
lestateMask
paramètre spécifie les états d’élément à modifier et le membre ounState
lestate
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_SetItemCount
comme 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_SetItemCountEx
comme 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_SetSelectionMark
comme 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_SETTOOLTIPS
Win32, comme décrit dans le 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 NULL
dé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_SetWorkAreas
comme 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, pfnCompare
a 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, pfnCompare
a 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_listCtrl
utilisé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_SubItemHitTest
comme 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