Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
FORUMS C FAQs C TUTORIELS C LIVRES C COMPILATEURS C SOURCES GTK+

Tutorial d'initiation
A la programmation avec l'API Windows

Tutorial d'initiation a la programmation Windows avec Microsoft Visual C++
PrécédentIndexSuivant

Chapitre 2

Les boîtes de dialogue

6. Le contrôle 'List Box'

Cours théorique :

Le contrôle 'List Box' est plus complexe que ceux étudiés précédemment. Il ne permet pas seulement de contenir un état entré par l'utilisateur, il permet d'afficher des informations sous forme de liste, de trier la liste par ordre alphabétique… Ce contrôle aura donc de multiples utilisations, d'autant plus qu'il est relativement simple à utiliser. Il ne se manipule pas grâce à des fonctions mais au travers de messages, qui seront envoyés par l'intermédiaire de la fonction SendMessage().

La liste peut être présentée sous deux formes : soit en une seule colonne et avec un défilement vertical, soit sur plusieurs colonnes et avec un défilement horizontal. Les colonnes auront obligatoirement la même taille. Elles ne peuvent pas comporter d'entêtes.

Voici les styles applicables à ce contrôle. Pour une liste exhaustive, consultez l'annexe A. Remarquez que par défaut, c'est la sélection simple qui est utilisée.

Sort [LBS_SORT] : détermine si le contrôle trie ou non la liste par ordre alphabétique.

Multi-Column [LBS_MULTICOLUMN] : permet d'afficher la liste sur une ou plusieurs colonnes. Si ce style est activé, il faut utiliser un défilement horizontal.

Horizontal Scroll [WS_HSCROLL] : défilement horizontal de la liste.

Vertical Scroll [WS_VSCROLL] : défilement vertical de la liste.

Multiple Selection [LBS_MULTIPLESEL] : autorise la sélection multiple. L'utilisateur peut sélectionner les éléments de la liste en cliquant dessus.

Extended Selection [LBS_EXTENDEDSEL] : autorise la sélection multiple. L'utilisateur sélectionne les éléments de la liste grâce aux touches SHIFT et CTRL.

No Selection [LBS_NOSEL] : interdit toute sorte de sélection.

L'utilisation du contrôle est relativement simple. Nous ne verrons ici que les tâches élémentaires, ajout et suppression d'un élément, récupération de la sélection courante. La méthode de récupération de la sélection courante dépend bien entendu du mode de sélection choisi. Pour une sélection unique, cette action est simple. Elle s'avère un peu plus délicate pour un contrôle à sélections multiples. L'ensemble des messages utilisables avec ce contrôle est présenté dans l'annexe A. Voici les messages les plus simples :

LB_ADDSTRING : ajoute un élément à la liste et demande le tri de la liste si celle-ci à le style 'Sort'.

LB_INSERTSTRING : ajoute un élément à la liste et le place à une position déterminée. Après l'insertion, la liste n'est pas triée.

LB_SETITEMDATA : permet d'associer une valeur 32 bits à un élément de la liste. Cette valeur peut par exemple être un pointeur sur les données que représente cet élément.

LB_DELETESTRING : supprime l'élément désigné.

LB_GETCURSEL : retourne la sélection courante pour un contrôle à sélection unique.

LB_GETSELITEMS : place dans un tableau l'ensemble des éléments sélectionnés dans un contrôle à sélections multiples.

LB_SETCURSEL : modifie la sélection courante dans un contrôle à sélection unique.

LB_GETCOUNT : retourne le nombre total d'éléments contenus par le contrôle.


PrécédentIndexSuivant

Responsable bénévole de la rubrique C : Arnaud Feltz (buchs) - Contacter par EMail :
Vos questions techniques : forum d'entraide C - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.