Partager via


Traitement des messages par défaut List-View

Cette section répertorie le traitement des messages de fenêtre effectué par un contrôle d’affichage de liste.

Traitement des messages

Le tableau suivant décrit le traitement des messages de fenêtre effectué par un contrôle d’affichage de liste.

Message Traitement effectué
WM_CHAR Recherche un élément d’affichage de liste qui commence par le caractère spécifié et, si l’élément est trouvé, sélectionne et définit le focus sur l’élément. Plusieurs caractères reçus dans un intervalle de délai d’attente, actuellement fixés à une seconde, sont concaténés et le contrôle d’affichage de liste recherche un élément qui commence par la chaîne résultante.
WM_COMMAND Traite les codes de notification EN_UPDATE et EN_KILLFOCUS et transfère toutes les autres notifications de contrôle de modification à la fenêtre parente.
WM_CREATE Effectue l’initialisation supplémentaire pour WM_NCCREATE. Si le style de fenêtre LVS_SHAREIMAGELISTS n’est pas spécifié, le contrôle d’affichage de liste crée l’icône et les petites listes d’images d’icônes à ce stade.
WM_DESTROY Libère les ressources allouées pendant WM_CREATE.
WM_ERASEBKGND Efface l’arrière-plan de la fenêtre à l’aide de la couleur d’arrière-plan actuelle pour le contrôle d’affichage de liste. Si la couleur d’arrière-plan est la valeur CLR_NONE, le contrôle d’affichage de liste transfère le message à la fenêtre parente.
WM_GETDLGCODE Retourne une combinaison des valeurs DLGC_WANTTAB et DLGC_WANTARROWS.
WM_GETFONT Retourne le handle à la police d’étiquette actuelle.
WM_HSCROLL Fait défiler le contrôle d’affichage de liste horizontalement.
WM_KEYDOWN Traite la barre d’espace, l’entrée et les touches de direction et envoie un code de notification LVN_KEYDOWN à la fenêtre parente.
WM_KILLFOCUS Repeint l’élément de liste prioritaire, le cas échéant, et envoie un code de notification NM_KILLFOCUS à la fenêtre parente.
WM_LBUTTONDBLCLK Envoie à la fenêtre parente un code de notification NM_DBLCLK (affichage liste).
WM_LBUTTONDOWN Traité de différentes manières selon qu’une opération de clic ou de glisser est lancée. Pour déterminer l’opération impliquée, le contrôle d’affichage de liste entre une boucle de message modale jusqu’à ce que le bouton soit libéré ou que la souris soit déplacée. Dans le cas d’un clic, le contrôle d’affichage de liste peut modifier l’élément qui a le focus et les éléments sélectionnés, en tenant compte de la position du curseur, de l’état des touches Maj et Ctrl, et ainsi de suite. Ensuite, le contrôle d’affichage de liste envoie à sa fenêtre parente un code de notification NM_CLICK (affichage liste).
Si le glissement commence sur un élément, le contrôle d’affichage de liste sélectionne et définit le focus sur l’élément. Il envoie ensuite un code de notification LVN_BEGINDRAG à la fenêtre parente. La fenêtre parente est responsable de l’exécution de l’opération de glissement.
Si le glissement commence sur l’arrière-plan de la fenêtre, le contrôle d’affichage de liste entre une autre boucle de message modale, ce qui permet à l’utilisateur de former un rectangle en faisant glisser la souris. Les éléments du rectangle sont sélectionnés.
WM_NCCREATE Alloue et initialise une structure de données interne, puis appelle la fonction DefWindowProc.
WM_NCDESTROY Libère les ressources allouées par le contrôle d’affichage de liste. Sauf si le style LVS_SHAREIMAGELISTS est utilisé, cela inclut la suppression des listes d’images de taille complète et de petite taille.
WM_NOTIFY Traite les codes de notification de contrôle d’en-tête.
WM_PAINT Affiche tous les éléments de la région de mise à jour. Pour les éléments de rappel, le contrôle envoie d’abord un code de notification LVN_GETDISPINFO à la fenêtre propriétaire pour demander des informations d’affichage. Si le paramètre wParam n’a pas la valeur NULL, le contrôle suppose que la valeur est un HDC et peint à l’aide de ce contexte d’appareil.
WM_RBUTTONDOWN Traité de la même façon que le message WM_LBUTTONDOWN, sauf que le contrôle envoie un code de notification NM_RCLICK (affichage liste) (au lieu de NM_CLICK (affichage liste) et un code de notification LVN_BEGINRDRAG (au lieu de LVN_BEGINDRAG). Notez que le contrôle traite le message WM_RBUTTONUP correspondant et ne le distribue pas. Les applications ne peuvent donc pas voir ce message, même en subclassant le contrôle.
WM_SETFOCUS Repeint l’élément de liste prioritaire, le cas échéant, et envoie un code de notification NM_SETFOCUS à la fenêtre parente.
WM_SETFONT Enregistre le handle de police spécifié, transfère le message à la fenêtre d’en-tête, le cas échéant, et repaint à l’aide de la nouvelle police.
WM_SETREDRAW Active ou désactive le redessinage.
WM_TIMER Commence la modification d’une étiquette d’élément. Si l’utilisateur clique sur l’étiquette de l’élément ciblé, le contrôle d’affichage de liste définit un minuteur au lieu d’entrer immédiatement en mode d’édition. Le minuteur permet au contrôle d’affichage de liste de de ne pas entrer en mode d’édition si l’utilisateur double-clique sur l’étiquette.
WM_VSCROLL Fait défiler le contrôle d’affichage de liste verticalement.
WM_WINDOWPOSCHANGED Met à jour les barres de défilement de la fenêtre. Si l’affichage actuel est une icône ou une petite icône, et que le style LVS_AUTOARRANGE est spécifié, le contrôle d’affichage de liste organise également les éléments de liste.
WM_WININICHANGE Traite les modifications apportées aux métriques système.