À propos des contrôles d’édition

Un contrôle d’édition est une fenêtre de contrôle rectangulaire généralement utilisée dans une boîte de dialogue pour permettre à l’utilisateur d’entrer et de modifier du texte.

Les contrôles d’édition prennent en charge le jeu de caractères Unicode dans lequel les caractères sont deux octets, et les jeux de caractères ANSI dans lesquels les caractères sont un octet. Pour plus d’informations sur les jeux de caractères Unicode et ANSI, consultez Unicode et jeux de caractères.

Les contrôles RichEdit prennent en charge de nombreuses fonctionnalités qui ne sont pas disponibles dans les contrôles d’édition système. Pour plus d’informations, consultez contrôles RichEdit.

Les rubriques suivantes sont présentées dans cette vue d’ensemble.

Fonctionnalités du contrôle d’édition

Lorsqu’il est sélectionné, un contrôle d’édition affiche un signe insertion clignotante qui indique le point d’insertion. L’utilisateur peut ensuite entrer du texte, déplacer le point d’insertion ou sélectionner du texte à modifier à l’aide du clavier ou de la souris. Un contrôle d’édition envoie des codes de notification à sa fenêtre parente sous la forme de messages de _ commande WM . Pour plus d’informations sur les messages d’un contrôle d’édition, consultez modifier les messages de notification de contrôle. Une fenêtre parente peut envoyer des messages à un contrôle d’édition dans une boîte de dialogue en appelant la fonction SendDlgItemMessage . Certains messages peuvent également être envoyés à l’aide de macros prédéfinies.

Le système fournit des contrôles d’édition sur une seule ligne et des contrôles d’édition multiligne. Les contrôles d’édition appartiennent à la classe de fenêtre d’édition.

Une zone de liste déroulante est un contrôle qui combine une grande partie des fonctionnalités d’un contrôle d’édition et d’une zone de liste. Dans une zone de liste modifiable, le contrôle d’édition affiche la sélection actuelle et la zone de liste présente les options qu’un utilisateur peut sélectionner. Pour plus d’informations sur les zones de liste déroulante, consultez zones de liste déroulante.

De nombreux développeurs utilisent les boîtes de dialogue fournies dans la bibliothèque de boîtes de dialogue communes (Comdlg32.dll) pour effectuer des tâches qui peuvent nécessiter des contrôles d’édition personnalisés. Pour plus d’informations sur les boîtes de dialogue communes, consultez Bibliothèque de boîtes de dialogue communes.

Modifier les types et les styles de contrôle

Un contrôle d’édition individuel peut avoir plusieurs styles en même temps. La plupart des développeurs utilisent des outils pour développer des boîtes de dialogue, et il n’est donc pas nécessaire de spécifier explicitement les styles du contrôle d’édition. Toutefois, si une application crée un contrôle d’édition à l’aide de la fonction CreateWindow ou CreateWindowEx , elle doit spécifier ces styles de contrôle d’édition. Pour obtenir un tableau des styles de contrôle d’édition, consultez modifier les styles de contrôle.

Chaque contrôle d’édition spécifie une combinaison de valeurs de style qui définissent l’apparence et les fonctionnalités du contrôle d’édition. Les valeurs de style peuvent définir l’apparence d’un contrôle d’édition sur une seule ligne ou multiligne. Alignez le texte dans le contrôle ; et déterminent la façon dont le texte, et même si, s’affiche dans le contrôle d’édition.

Style multiligne

Il existe deux styles de ligne pour les contrôles d’édition. La valeur par défaut est un contrôle d’édition sur une seule ligne. Une application peut également créer un contrôle d’édition multiligne à l’aide du style es _ multiligne .

Styles de défilement

Le style es _ AUTOHSCROLL indique au contrôle Edit de faire défiler le texte horizontalement, si nécessaire, lorsque l’utilisateur entre du texte. Si ce style n’est pas spécifié, le contrôle d’édition ne peut pas faire défiler horizontalement. Pour les contrôles d’édition sur une seule ligne sans es _ AUTOHSCROLL, seuls les caractères qui remplissent la zone visible du contrôle sont acceptés. Pour les contrôles d’édition multiligne sans es _ AUTOHSCROLL, le texte est renvoyé à la ligne suivante quand l’utilisateur entre plus de texte qu’il ne peut en afficher sur une seule ligne. Si es _ AUTOHSCROLL est spécifié pour un contrôle d’édition multiligne, le contrôle fait défiler horizontalement quand l’utilisateur entre plus de texte que ce qui peut être affiché sur une seule ligne ; le texte n’est pas renvoyé à la ligne.

Es _ AUTOHSCROLL est appliqué automatiquement à un contrôle d’édition multiligne aligné à gauche avec un style WS _ HSCROLL . En d’autres termes, tout contrôle d’édition multiligne aligné à gauche avec une barre de défilement horizontale défile horizontalement.

Es _ AUTOHSCROLL est ignoré par un contrôle d’édition multiligne qui n’est pas aligné à gauche. Impossible de faire défiler horizontalement les contrôles d’édition multilignes centrés et alignés à droite

Le style es _ AUTOVSCROLL indique au contrôle d’édition de faire défiler le texte verticalement lorsque l’utilisateur entre plus de texte que ce qui peut être affiché dans le contrôle d’édition. Ce style s’applique uniquement aux contrôles d’édition multiligne. Si ce style n’est pas spécifié pour un contrôle d’édition multiligne, le contrôle d’édition n’acceptera pas l’entrée lorsque plus de texte est entré que ne peut en afficher.

Styles d’alignement

Il existe trois styles qui obligent le système à aligner le texte dans un contrôle d’édition. Les styles de _ droite es _ gauche, es _ Centeret es déterminent si le texte est aligné sur la gauche, le centre ou la droite, respectivement. Les contrôles d’édition multiligne alignés à droite et centrés ne peuvent pas avoir le style es _ AUTOHSCROLL ; autrement dit, ils ne peuvent pas faire défiler horizontalement.

Bien qu’il ne soit pas possible de modifier dynamiquement le style d’alignement d’un contrôle d’édition, les techniques suivantes peuvent être utilisées pour contourner cette restriction :

  • Créez plusieurs contrôles d’édition, un pour chaque style dont l’application a besoin et basculez entre eux en fonction des besoins.
  • Créez un nouveau contrôle d’édition avec le style souhaité, et basculez vers le nouveau contrôle.

Styles de texte et d’entrée

Une application peut utiliser des styles pour spécifier comment le contrôle d’édition affiche du texte. Le style _ minuscules es fait en sorte que tous les caractères majuscules entrés dans le contrôle d’édition soient convertis en minuscules. De même, le style _ majuscules es fait en sorte que tous les caractères minuscules soient convertis en majuscules.

Pour plus d’informations sur les jeux de caractères, consultez Unicode et jeux de caractères.

Le style de _ nombre es restreint l’entrée aux chiffres uniquement dans le contrôle d’édition.

Le style _ ReadOnly s modifie le contrôle d’édition en état lecture seule.

Le style de _ mot de passe es affiche tous les caractères d’un contrôle d’édition sur une seule ligne sous la forme d’astérisques. Une application peut définir un caractère différent à afficher à l’aide du message _ SETPASSWORDCHAR em , comme décrit plus loin dans cette rubrique.

Si un contrôle d’édition provient d' Comctl32.dll version 6, un cercle noir est le caractère par défaut pour le style de _ mot de passe es . Dans les contrôles d’édition des versions précédentes des contrôles communs, le caractère par défaut est un astérisque.

le style ES _ OEMCONVERT fait en sorte que le texte entré dans le contrôle d’édition soit converti à partir des caractères Windows définis sur le jeu de caractères OEM, puis de nouveau à Windows jeu de caractères. cela garantit une conversion de caractères correcte lorsque l’application appelle la fonction CharToOem pour convertir une chaîne Windows dans le contrôle d’édition en caractères OEM. Es _ OEMCONVERT est particulièrement utile pour les contrôles d’édition qui contiennent des noms de fichiers qui seront utilisés sur des systèmes de fichiers qui ne prennent pas en charge Unicode.

Dans le cas d’un contrôle d’édition multiligne dans une boîte de dialogue, le style es _ WANTRETURN fait en sorte que le contrôle insère un retour chariot lorsque l’utilisateur appuie sur la touche entrée tout en entrant du texte. Si ce style n’est pas spécifié, le fait d’appuyer sur la touche entrée revient à appuyer sur le bouton de commande par défaut dans la boîte de dialogue. Sans es _ WANTRETURN, l’utilisateur doit appuyer sur Ctrl + Entrée pour insérer un retour chariot. Pour plus d’informations sur les retours à la ligne et les sauts de ligne, consultez gestion des retoursà la ligne.

Styles visuels

Le style es _ NOHIDESEL fait en sorte que le texte sélectionné reste en surbrillance lorsque le contrôle d’édition n’a pas le focus. Sans ce style, le texte sélectionné perd la mise en surbrillance lorsque le contrôle perd le focus.

Par défaut, un contrôle d’édition n’a pas de bordure. Pour en obtenir un, une application peut utiliser le style de fenêtre de _ bordure WS .

Pour utiliser les styles visuels avec les contrôles d’édition, une application doit inclure un manifeste et doit appeler InitCommonControls au début du programme. Pour plus d’informations sur les styles visuels, consultez styles visuels. Pour plus d’informations sur les manifestes, consultez activation des styles visuels.

Mémoire tampon de texte

Le système stocke le texte du contrôle d’édition dans une mémoire tampon et le copie dans le contrôle, si nécessaire.

Les rubriques suivantes expliquent comment le système alloue et initialise la mémoire tampon et modifie ses caractéristiques :

Allocation d’une mémoire tampon de texte

Lorsque le système crée un contrôle d’édition, il crée automatiquement une mémoire tampon de texte, définit sa taille initiale et augmente la taille si nécessaire. La taille peut atteindre une limite prédéfinie d’environ 32 kilo-octets (Ko) pour les contrôles d’édition sur une seule ligne. Cette limite pouvant changer, elle est appelée limite conditionnelle. Une application peut définir une limite inconditionnelle sur la taille de la mémoire tampon en envoyant un message em _ SETLIMITTEXT au contrôle d’édition. Si la mémoire tampon dépasse l’une ou l’autre limite, le système envoie un code de notification en _ ERRSPACE à l’application. Une application peut récupérer la limite de texte actuelle en envoyant un message em _ GETLIMITTEXT .

Le système crée généralement une mémoire tampon de contrôle d’édition dans une boîte de dialogue à l’aide de la mémoire en dehors du segment de données de l’application. Une application peut supprimer ce comportement d’allocation par défaut et créer la mémoire tampon à partir de son tas local à l’aide du _ style DS LOCALEDIT (consultez « styles de modèle de boîte de dialogue » dans à propos des boîtes de dialogue) lors de la création du contrôle d’édition. Une application qui utilise le _ style DS LOCALEDIT est responsable de toutes les allocations de mémoire tampon. Pour effectuer l’allocation initiale, une application peut appeler la fonction LocalAlloc et transmettre le descripteur de mémoire tampon renvoyé au contrôle d’édition en lui envoyant un message em _ SETHANDLE . Pour effectuer des allocations ultérieures (en réponse à un code de notification en _ ERRSPACE , par exemple), une application doit enregistrer le contenu de la mémoire tampon en cours (si nécessaire) et obtenir une nouvelle mémoire tampon comme suit.

Pour enregistrer la mémoire tampon active et en obtenir une nouvelle, procédez comme suit.

  1. Récupérez le handle de la mémoire actuellement allouée pour le texte dans un contrôle d’édition multiligne en envoyant le contrôle à un message em _ GETHANDLE .
  2. Libérez la mémoire tampon en appelant la fonction LocalFree .
  3. Obtenez une nouvelle mémoire tampon (et un descripteur de mémoire tampon) en appelant LocalAlloc.
  4. Donnez le descripteur de mémoire tampon au système en envoyant le contrôle à un message em _ SETHANDLE .

Les messages em _ SETHANDLE et em _ GETHANDLE s’appliquent uniquement aux contrôles d’édition multiligne.

Une application qui utilise le comportement d’allocation par défaut (autrement dit, n’utilise pas le _ style DS LOCALEDIT (consultez « styles de modèle de boîte de dialogue » dans à propos des boîtes de dialogue)) ne doit pas envoyer de messages em _ SETHANDLE et em _ GETHANDLE au contrôle d’édition.

L’envoi d’un message em _ SETHANDLE a plusieurs effets secondaires : il efface l’indicateur d’annulation (le message em _ CANUNDO retourne zéro), efface l’indicateur de modification (ce qui rend le message em _ GETMODIFY retourné zéro) et redessine la fenêtre de contrôle d’édition.

Initialisation d’une mémoire tampon de texte

Une application peut initialiser ou réinitialiser la mémoire tampon de texte d’un contrôle d’édition en appelant la fonction SetDlgItemText . Une application peut récupérer le contenu d’une mémoire tampon de texte en appelant la fonction GetDlgItemText .

Définition d’une mémoire tampon de texte en lecture seule

Pour chaque contrôle d’édition, le système gère un indicateur de lecture seule qui indique si le texte du contrôle est en lecture/écriture (valeur par défaut) ou en lecture seule. Une application peut définir l’indicateur de lecture/écriture ou l’indicateur de lecture seule pour le texte en envoyant le contrôle à un message em _ SETREADONLY . Pour déterminer si un contrôle d’édition est en lecture seule, une application peut appeler la fonction GetWindowLong à l’aide de la constante de _ style GWL . Le message _ SETREADONLY em s’applique aux contrôles d’édition à une seule ligne et multiligne.

Modification du rectangle de mise en forme

La visibilité du texte d’un contrôle d’édition est régie par les dimensions de son rectangle de fenêtre et son rectangle de mise en forme. Le rectangle de la fenêtre est la zone cliente de la fenêtre contenant le contrôle d’édition. Le rectangle de mise en forme est une construction gérée par le système pour mettre en forme le texte affiché dans le rectangle de la fenêtre. Lorsqu’un contrôle d’édition est affiché pour la première fois, les deux rectangles sont identiques sur l’écran. Une application peut rendre le rectangle de mise en forme plus grand que le rectangle de la fenêtre (limitant ainsi la visibilité du texte du contrôle d’édition) ou plus petit que le rectangle de la fenêtre (créant ainsi un espace blanc supplémentaire autour du texte).

Une application peut définir les coordonnées du rectangle de mise en forme d’un contrôle d’édition en lui envoyant un message em _ SETRECT . Le message _ SETRECT em redessine également automatiquement le texte du contrôle d’édition. Pour établir les coordonnées du rectangle de mise en forme sans redessiner le texte du contrôle, une application peut envoyer au contrôle un message _ SETRECTNP em . Pour récupérer les coordonnées du rectangle de mise en forme, une application peut envoyer au contrôle un message _ GETRECT em . Ces messages s’appliquent uniquement aux contrôles d’édition multiligne.

Modifier les messages de notification de contrôle

L’utilisateur effectue des demandes de modification à l’aide du clavier et de la souris. Le système envoie chaque demande à la fenêtre parente du contrôle d’édition sous la forme d’un message de _ commande WM . Le message comprend l’identificateur de contrôle d’édition dans le mot de poids faible du paramètre wParam , le handle du contrôle d’édition dans le paramètre lParam et un code de notification de contrôle d’édition correspondant à l’action de l’utilisateur dans le mot de poids fort du paramètre wParam .

Une application doit examiner les codes de notification accompagnant chaque message de notification et répondre de manière appropriée. Le tableau suivant répertorie chaque code de notification de contrôle d’édition et l’action qui le génère.

Code de notification Action requise
en _ modification L’utilisateur a modifié le texte dans un contrôle d’édition. Le système met à jour l’affichage avant d’envoyer ce code de notification (contrairement _ à la mise à jour).
en _ ERRSPACE Le contrôle d’édition ne peut pas allouer suffisamment de mémoire pour répondre à une demande spécifique.
en _ HSCROLL L’utilisateur a cliqué sur la barre de défilement horizontale du contrôle d’édition. Le système envoie ce code de notification avant de mettre à jour l’écran.
en _ KILLFOCUS L’utilisateur a sélectionné un autre contrôle.
en _ MAXTEXT Lors de l’insertion de texte, l’utilisateur a dépassé le nombre spécifié de caractères pour le contrôle d’édition. L’insertion a été tronquée. Ce code de notification est également envoyé lorsqu’un contrôle d’édition n’a pas le style es _ AUTOHSCROLL et que le nombre de caractères à insérer dépasse la largeur du contrôle d’édition ou lorsqu’un contrôle d’édition n’a pas le style es _ AUTOVSCROLL et que le nombre total de lignes à insérer dépasse la hauteur du contrôle d’édition.
en _ SetFocus L’utilisateur a sélectionné ce contrôle d’édition.
en cours de _ mise à jour L’utilisateur a modifié le texte dans le contrôle d’édition et le système est sur le paragraphe d’afficher le nouveau texte. Le système envoie ce code de notification après avoir mis en forme le texte, mais avant de l’afficher, afin que l’application puisse redimensionner la fenêtre de contrôle d’édition.
en _ VSCROLL L’utilisateur a cliqué sur la barre de défilement verticale du contrôle d’édition ou a fait défiler la roulette de la souris au-dessus du contrôle d’édition. Le système envoie ce code de notification avant de mettre à jour l’écran.
en _ SEARCHWEB L’utilisateur a cliqué sur l’entrée de menu contextuel « Rechercher sur le Web ». Le système envoie cette notification après avoir lancé le navigateur.

En outre, le système envoie un message WM _ CTLCOLOREDIT à la fenêtre parente d’un contrôle d’édition avant que le contrôle d’édition ne soit dessiné. Ce message contient un handle du contexte d’affichage du contrôle d’édition (DC) et un handle de la fenêtre enfant. La fenêtre parente peut utiliser ces poignées pour modifier le texte et les couleurs d’arrière-plan du contrôle d’édition.

Traitement du message par défaut du contrôle d’édition

La procédure de fenêtre pour la classe de fenêtre de contrôle d’édition prédéfinie effectue le traitement par défaut pour tous les messages que la procédure de contrôle d’édition ne traite pas. Lorsque la procédure de contrôle d’édition retourne la valeur false pour un message, la procédure de fenêtre prédéfinie vérifie les messages et effectue les actions par défaut suivantes.

Message Action par défaut
EM _ CANUNDO Retourne la valeur true si l’opération de contrôle d’édition peut être annulée.
_CHARFROMPOS em Retourne l’index de caractère et l’index de ligne du caractère le plus proche du point spécifié.
_EMPTYUNDOBUFFER em Vide la mémoire tampon d’annulation et définit l’indicateur d’annulation récupéré par le message em _ CANUNDO sur false. Le système efface automatiquement l’indicateur d’annulation chaque fois que le contrôle d’édition reçoit un message WM _ SETTEXT ou em _ SETHANDLE .
_FMTLINES em Ajoute ou supprime des caractères de saut de ligne conditionnels (deux retours chariot et un saut de ligne) à la fin des lignes avec retour à la ligne dans un contrôle d’édition multiligne. Il n’est pas traité par les contrôles d’édition sur une seule ligne.
_GETFIRSTVISIBLELINE em Retourne l’index de base zéro du premier caractère visible dans un contrôle d’édition sur une seule ligne ou l’index de base zéro de la ligne visible supérieure dans un contrôle d’édition multiligne.
EM _ GETHANDLE Retourne un handle identifiant la mémoire tampon contenant le texte du contrôle d’édition multiligne. Il n’est pas traité par les contrôles d’édition sur une seule ligne.
_GETLIMITTEXT em Retourne la limite de texte actuelle, en caractères.
_GETLINE em Copie les caractères d’un contrôle d’édition sur une seule ligne dans une mémoire tampon et retourne le nombre de caractères copiés. Dans un contrôle d’édition multiligne, récupère une ligne de texte à partir du contrôle et retourne le nombre de caractères copiés.
_GETLINECOUNT em Retourne le nombre de lignes dans le contrôle d’édition.
_GETMARGINS em Retourne les largeurs des marges gauche et droite.
_GETMODIFY em Retourne un indicateur qui spécifie si le contenu d’un contrôle d’édition a été modifié.
_GETPASSWORDCHAR em Retourne le caractère que les contrôles d’édition utilisent conjointement avec le style _ de mot de passe es .
_GETRECT em Retourne les coordonnées du rectangle de mise en forme dans un contrôle d’édition.
_GETSEL em Retourne les positions des caractères de début et de fin de la sélection actuelle dans le contrôle d’édition.
_GETTHUMB em Retourne la position de la case de défilement dans la barre de défilement verticale dans un contrôle d’édition multiligne.
_GETWORDBREAKPROC em Retourne l’adresse de la fonction WordWrap actuelle dans un contrôle d’édition.
_LINEFROMCHAR em Retourne le numéro de base zéro de la ligne dans un contrôle d’édition multiligne qui contient un index de caractère spécifié. Ce message est l’inverse du message _ LINEINDEX em . Il n’est pas traité par les contrôles d’édition sur une seule ligne.
_LINEINDEX em Retourne le caractère d’une ligne dans un contrôle d’édition multiligne. Ce message est l’inverse du message _ LINEFROMCHAR em . Il n’est pas traité par les contrôles d’édition sur une seule ligne.
_LINELENGTH em Retourne la longueur, en caractères, d’un contrôle d’édition sur une seule ligne. Dans un contrôle d’édition multiligne, retourne la longueur, en caractères, d’une ligne spécifiée.
_LINESCROLL em Fait défiler le texte verticalement dans un contrôle d’édition sur une seule ligne ou horizontalement dans un contrôle d’édition multiligne (lorsque le contrôle a le style es à _ gauche ). Le paramètre lParam spécifie le nombre de lignes à faire défiler verticalement, en commençant par la ligne active. Le paramètre wParam spécifie le nombre de caractères à faire défiler horizontalement, en commençant par le caractère actuel.
_POSFROMCHAR em Retourne les coordonnées clientes du caractère spécifié.
_REPLACESEL em Remplace la sélection actuelle par le texte dans une mémoire tampon fournie par l’application, envoie les codes de notification de _ la fenêtre en _ mise à jour et de la fenêtre parente et met à jour la mémoire tampon d’annulation.
_défilement em Fait défiler le texte verticalement dans un contrôle d’édition multiligne. Ce message revient à envoyer un message WM _ VSCROLL au contrôle d’édition. Il n’est pas traité par les contrôles d’édition sur une seule ligne.
_SCROLLCARET em Fait défiler le signe insertion dans un contrôle d’édition.
_SetFont em Non prise en charge.
_SETHANDLE em Définit un handle sur la mémoire utilisée comme mémoire tampon de texte, vide la mémoire tampon d’annulation, rétablit les positions de défilement à zéro et redessine la fenêtre.
_SETLIMITTEXT em Définit le nombre maximal de caractères que l’utilisateur peut entrer dans le contrôle d’édition. Pour les contrôles d’édition sur une seule ligne, cette valeur est soit 0x7FFFFFFE, soit la valeur du paramètre wParam , selon celle qui est la plus petite. Pour les contrôles d’édition multiligne, cette valeur est soit 1, soit la valeur du paramètre wParam , selon celle qui est la plus petite.
_setMargins em Définit les largeurs des marges gauche et droite, puis redessine le contrôle d’édition pour refléter les nouvelles marges.
_SETMODIFY em Définit ou efface l’indicateur de modification pour indiquer si le contrôle d’édition a été modifié.
_SETPASSWORDCHAR em Définit le caractère que les contrôles d’édition utilisent conjointement avec le style _ de mot de passe es .
_SETREADONLY em Définit ou supprime le style en lecture seule (es _ ReadOnly) dans un contrôle d’édition.
_SETRECT em Définit le rectangle de mise en forme pour le contrôle d’édition multiligne et redessine la fenêtre. Il n’est pas traité par les contrôles d’édition sur une seule ligne.
_SETRECTNP em Définit le rectangle de mise en forme pour le contrôle d’édition multiligne, mais ne redessine pas la fenêtre. Il n’est pas traité par les contrôles d’édition sur une seule ligne.
_SETSEL em Sélectionne une plage de caractères dans le contrôle d’édition en définissant les positions de début et de fin à sélectionner.
_SETTABSTOPS em Définit les positions des taquets de tabulation dans le contrôle d’édition multiligne. Il n’est pas traité par les contrôles d’édition sur une seule ligne.
_SETWORDBREAKPROC em Remplace la fonction WordWrap par défaut par une fonction WordWrap définie par l’application.
_Effacer em Supprime tout texte qui vient d’être inséré ou insère les caractères supprimés et définit la sélection sur le texte inséré. Si nécessaire, envoie les codes de notification de _ mise à jour et de _ modification à la fenêtre parente.
_caractère WM Écrit un caractère dans le contrôle d’édition sur une seule ligne et envoie les codes de _ notification en _ mise à jour et en cours à la fenêtre parente. Écrit un caractère dans le contrôle d’édition multiligne. Gère les touches accélérateur pour les fonctions standard, telles que CTRL + C pour la copie et CTRL + V pour le collage. Dans les contrôles d’édition multiligne, il s’agit également de l’onglet processus et des séquences de touches CTRL + TAB pour vous déplacer parmi les contrôles d’une boîte de dialogue et pour insérer des tabulations dans des contrôles d’édition multiligne. Utilise la fonction MessageBeep pour les caractères non conformes.
WM- _ Clear Efface la sélection actuelle, le cas échéant, dans un contrôle d’édition. S’il n’y a aucune sélection actuelle, supprime le caractère à droite du signe insertion. Si l’utilisateur appuie sur la touche Maj, cela coupe la sélection dans le presse-papiers ou supprime le caractère à gauche du signe insertion lorsqu’il n’y a aucune sélection. Si l’utilisateur appuie sur la touche CTRL, la sélection est supprimée ou supprimée à la fin de la ligne lorsqu’il n’y a aucune sélection.
_copie WM Copie le texte dans le presse-papiers, sauf si le style est un _ mot de passe es, auquel cas le message retourne la valeur zéro.
création de WM _ Crée le contrôle d’édition et avertit la fenêtre parente avec la valeur true en cas de réussite ou 1 en cas d’échec.
découpe WM _ Coupe la sélection dans le presse-papiers ou supprime le caractère à gauche du curseur si aucune sélection n’est effectuée.
_activer WM Provoque le redessin du rectangle en gris pour les contrôles d’édition sur une seule ligne. Retourne l’état activé pour les contrôles d’édition à une seule ligne et multiligne.
_ERASEBKGND WM Remplit la fenêtre de contrôle d’édition multiligne avec la couleur actuelle du contrôle d’édition.
_GETDLGCODE WM Retourne les valeurs suivantes : DLGC _ WANTCHARS, DLGC _ HASSETSEL et DLGC _ WANTARROWS. Dans les contrôles d’édition multiligne, elle retourne également DLGC _ WANTALLKEYS. Si l’utilisateur appuie sur ALT + retour arrière, il retourne également DLGC _ WANTMESSAGE.
WM _ GETFONT Retourne le handle de la police utilisée par le contrôle, ou null si le contrôle utilise la police système.
WM _ GETTEXT Copie le nombre spécifié de caractères dans une mémoire tampon et retourne le nombre de caractères copiés.
_GETTEXTLENGTH WM Retourne la longueur, en caractères, du texte dans un contrôle d’édition. La longueur n’inclut pas le caractère de fin null.
_HSCROLL WM Fait défiler le texte dans un contrôle d’édition multiligne horizontalement et gère le mouvement de la case de défilement.
WM- _ touche Effectue le traitement standard des codes de touche virtuelle.
_KILLFOCUS WM Supprime le focus clavier d’une fenêtre de contrôle d’édition, détruit le signe insertion, masque la sélection actuelle et notifie la fenêtre parente que le contrôle d’édition a perdu le focus.
_LBUTTONDBLCLK WM Efface la sélection actuelle et sélectionne le mot sous le curseur. Si la touche Maj est enfoncée, étend la sélection jusqu’au mot situé sous le curseur.
_LBUTTONDOWN WM Modifie le point d’insertion actuel. Si la touche Maj est enfoncée, étend la sélection jusqu’à la position du curseur. Dans les contrôles d’édition multiligne, définit également le minuteur pour faire défiler automatiquement lorsque l’utilisateur appuie sur le bouton de la souris en dehors de la fenêtre de contrôle d’édition multiligne.
_LBUTTONUP WM Libère la capture de la souris et définit le point d’insertion de texte dans le contrôle d’édition sur une seule ligne. Dans un contrôle d’édition multiligne, termine également le minuteur défini dans le message WM _ LBUTTONDOWN .
WM _ MOUSEMOVE Modifie la sélection actuelle dans le contrôle d’édition sur une seule ligne, si le bouton de la souris est enfoncé. Dans un contrôle d’édition multiligne, définit également le minuteur pour qu’il défile automatiquement si l’utilisateur appuie sur le bouton de la souris en dehors de la fenêtre de contrôle d’édition multiligne.
_NCCREATE WM Pointeur vers la structure CREATESTRUCT pour la fenêtre. Ce message est envoyé au message WM _ Create lorsqu’une fenêtre est créée pour la première fois.
_NCDESTROY WM Libère toute la mémoire associée à la fenêtre de contrôle d’édition, y compris la mémoire tampon de texte, la mémoire tampon d’annulation, le tampon d’arrêt de tabulation et le pinceau de surbrillance.
_peinture WM Efface l’arrière-plan, remplit la fenêtre avec la couleur actuelle de la fenêtre de contrôle d’édition, dessine la bordure (le cas échéant), définit la police et dessine le texte, et affiche le signe insertion de texte.
_coller WM Colle le texte du presse-papiers dans la fenêtre de contrôle d’édition à l’emplacement du signe insertion.
WM _ SetFocus Définit le focus clavier d’une fenêtre de contrôle d’édition (affiche la sélection actuelle, si elle a été masquée, et crée le signe insertion).
_SetFont WM Définit la police et, éventuellement, redessine le contrôle d’édition.
WM, _ SETTEXT Copie le texte dans le contrôle d’édition sur une seule ligne, notifie la fenêtre parente quand la mémoire est insuffisante, vide la mémoire tampon d’annulation et envoie les codes de notification de _ mise à jour et de _ modification à la fenêtre parente. Dans les contrôles d’édition multiligne, réencapsule également les lignes (si nécessaire) et définit les positions de défilement.
taille du WM _ Définit la taille de la fenêtre de contrôle d’édition, en veillant à ce que la taille tienne compte de la hauteur et de la largeur d’un caractère.
_SYSCHAR WM Retourne la valeur true si l’utilisateur appuie sur Alt + RET. Sinon, aucune action n’est effectuée.
_SYSKEYDOWN WM Annule la dernière action si l’utilisateur appuie sur ALT + RET. Sinon, aucune action n’est effectuée.
_minuteur WM Fait défiler le texte dans la fenêtre de contrôle d’édition si l’utilisateur appuie sur le bouton de la souris en dehors de la fenêtre de contrôle d’édition multiligne.
désannulation WM _ Supprime tout texte qui vient d’être inséré ou insère les caractères supprimés et définit la sélection sur le texte inséré. Si nécessaire, envoie les codes de notification de _ mise à jour et de _ modification à la fenêtre parente.
_VSCROLL WM Fait défiler verticalement un contrôle d’édition multiligne et gère le mouvement de la case de défilement. Il n’est pas traité par les contrôles d’édition sur une seule ligne.

La procédure de fenêtre de contrôle d’édition prédéfinie transmet tous les autres messages à la fonction DefWindowProc pour le traitement par défaut.