Partager via


ROWLIST, exemple : illustre la sélection de lignes entières dans des vues Liste

Mise à jour : novembre 2007

L'exemple ROWLIST illustre la sélection de lignes entières en mode Rapport, pour la classe de contrôle commun MFC CListView. L'exemple implémente une classe réutilisable, CListViewEx, qui fournit la sélection de lignes entières en tant que mode d'affichage supplémentaire d'un contrôle list view. CListViewEx utilise le mode owner-draw pour effectuer toute la peinture nécessaire du contrôle. Vous pouvez utiliser la classe de vos propres projets, soit directement, soit en tant que classe de base. ROWLIST montre également comment utiliser Images d'état et de superposition avec un contrôle list view.

Note de sécurité :

Cet exemple de code est fourni pour illustrer un concept et ne doit pas être utilisé dans des applications ou des sites Web, car il peut ne pas illustrer les pratiques de programmation les plus sûres. Microsoft n'assume aucune responsabilité pour tout dommage indirect ou consécutif en cas d'utilisation de l'exemple de code à des fins autres que celles prévues.

Pour obtenir des exemples et des instructions d'installation :

  • Dans le menu ? (Aide) de Visual Studio, cliquez sur Exemples.

    Pour plus d'informations, consultez Recherche des fichiers d'exemple.

  • La liste la plus récente et la plus complète d'exemples est disponible en ligne à partir de la page Visual Studio 2008 Samples.

  • Des exemples sont également disponibles sur le disque dur de votre ordinateur. Des exemples et un fichier Readme sont copiés par défaut dans un dossier sous \Program Files\Visual Studio 9.0\Samples\. Pour les éditions Express de Visual Studio, tous les exemples sont accessibles en ligne.

Génération et exécution de l'exemple

Pour générer et exécuter l'exemple ROWLIST

  1. Ouvrez la solution rowlist.sln.

  2. Dans le menu Générer, cliquez sur Générer.

  3. Dans le menu Déboguer, cliquez sur Exécuter sans débogage.

Lorsque vous exécutez ROWLIST, celui-ci affiche une application interface mono document (SDI, Single-Document Interface) dont la vue est une classe dérivée de CListView. La vue comporte des éléments qui représentent différentes couleurs, avec des données supplémentaires les concernant. Le contrôle list view s'affiche initialement en mode Rapport, avec l'option de sélection de lignes entières activée. Le menu View et la barre d'outils vous permettent de sélectionner d'autres modes d'affichage.

Les images d'état sont initialement définies en tant que carrés vides situés à gauche de chaque élément. Si vous cliquez sur une image d'état, l'image de l'élément devient une icône qui s'affiche dans la barre de légende. Si les images d'état ne sont pas affichées, vous pouvez double-cliquer sur un élément pour modifier son état.

Classe CListViewEx

La classe CListViewEx, dérivée de CListView, est une classe réutilisable qui implémente le mode de sélection de lignes entières. Elle offre une prise en charge complète du mode owner-draw d'un contrôle list view, et fournit la fonctionnalité de sélection de lignes entières en implémentant le code de peinture de toutes les images et étiquettes. CListViewEx affiche les images et étiquettes d'un contrôle de la même façon qu'en mode Rapport, en y ajoutant la sélection de lignes entières. Cette classe ne possède que deux fonctions membres supplémentaires (par rapport à CListView) : SetFullRowSel et GetFullRowSel. Ces fonctions permettent d'effectuer des définitions ou des requêtes en mode de sélection de lignes entières.

Vous pouvez réutiliser la classe dans vos propres projets, soit en faisant dériver une classe à partir de celle-ci, soit en l'utilisant directement. Le moyen le plus simple d'utiliser cette classe consiste à exécuter l'Assistant Application pour créer une application qui possède une classe dérivée de CListView, puis à modifier sa classe de base par CListViewEx.

Utilisation des Images d'état et de superposition avec CListView

ROWLIST montre comment utiliser les Images d'état et de superposition. Les images d'état sont initialement définies en tant que carrés vides situés à gauche de chaque élément. Si vous cliquez sur une image d'état, l'image de l'élément devient une icône qui s'affiche dans la barre de légende. En réponse, l'icône d'état de l'élément se transforme en carré contenant une coche. CRowListView::OnLButtonDown contient le code qui insère la coche lorsqu'une icône d'état est activée, et qui modifie l'icône d'état d'un élément.

Si les images d'état ne sont pas affichées, l'image actuellement utilisée est marquée à l'aide d'une image superposée (un carré gris avec une coche). Vous pouvez double-cliquer pour modifier l'état d'un élément, ce qui permet d'activer ou de désactiver la superposition d'une image. Le code d'implémentation du double-clic se trouve dans CRowListView::OnLButtonDblClk.

Remarque :

Certains exemples, tels que celui-ci, n'ont pas été modifiés pour refléter les changements apportés aux Assistants, aux bibliothèques et au compilateur Visual C++, mais ils illustrent bien l'exécution de la tâche souhaitée.

Voir aussi

Autres ressources

Exemples MFC