Partager via


Traitement des messages List-View par défaut

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

Traitement de message

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é à 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 en plus de WM_NCCREATE. Si le style de fenêtre LVS_SHAREIMAGELISTS n’est pas spécifié, le contrôle d’affichage de liste crée les listes d’icônes et de petites 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 horizontalement le contrôle list-view.
WM_KEYDOWN Traite les touches SPACEBAR, ENTRÉE et flèche 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 dans une boucle de message modale jusqu’à ce que le bouton soit relâché ou que la souris soit déplacée. En cas de 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, etc. Ensuite, le contrôle d’affichage de liste envoie à sa fenêtre parente un code de notification NM_CLICK (affichage de 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. Ensuite, il envoie 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 list-view. À moins que le style LVS_SHAREIMAGELISTS ne soit utilisé, cela inclut la suppression des listes d’images de taille réelle 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’est pas 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 , à ceci près que le contrôle envoie un code de notification NM_RCLICK (affichage de liste) (au lieu de NM_CLICK (affichage de 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 sous-classant 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 effectue un repeint à 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 prioritaire, le contrôle d’affichage de liste définit un minuteur au lieu d’entrer immédiatement en mode édition. Le minuteur permet au contrôle d’affichage de liste de ne pas passer en mode édition si l’utilisateur double-clique sur l’étiquette.
WM_VSCROLL Fait défiler verticalement le contrôle d’affichage de liste.
WM_WINDOWPOSCHANGED Mises à 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.