Modifier les styles de contrôle
Pour créer un contrôle d’édition à l’aide de la fonction CreateWindow ou CreateWindowEx , spécifiez la classe EDIT, les constantes de style de fenêtre appropriées et une combinaison des styles de contrôle d’édition suivants. Une fois le contrôle créé, ces styles ne peuvent pas être modifiés, sauf comme indiqué.
Exemple
LRESULT MsgCreate(HWND hwnd, UINT uMessage, WPARAM wparam, LPARAM lparam)
{
lparam;
wparam;
uMessage;
// Create Edit control for typing to be sent to server
if (NULL == (hOutWnd = CreateWindow("EDIT",
NULL,
WS_BORDER | WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_LEFT |
ES_MULTILINE | ES_AUTOVSCROLL,
0,0,0,0,
hwnd,
(HMENU) ID_OUTBOX,
(HINSTANCE) GetWindowLongPtr(hwnd, GWLP_HINSTANCE),
NULL)))
return FALSE;
return TRUE;
}
Exemple de Windows exemples classiques sur GitHub.
Constantes
Constant | Description |
---|---|
|
Fait défiler automatiquement le texte vers la droite de 10 caractères lorsque l’utilisateur tape un caractère à la fin de la ligne. Lorsque l’utilisateur appuie sur la touche Entrée, le contrôle fait défiler tout le texte jusqu’à la position zéro. |
|
Fait défiler automatiquement le texte vers le haut d’une page lorsque l’utilisateur appuie sur la touche Entrée sur la dernière ligne. |
|
Centre le texte dans un contrôle d’édition monoligne ou multiligne. |
|
Aligne le texte avec la marge gauche. |
|
Convertit tous les caractères en minuscules au fur et à mesure qu’ils sont tapés dans le contrôle d’édition. Pour modifier ce style une fois le contrôle créé, utilisez SetWindowLong. |
|
Désigne un contrôle d’édition multiligne. La valeur par défaut est le contrôle d’édition à ligne unique. Lorsque le contrôle d’édition multiligne se trouve dans une boîte de dialogue, la réponse par défaut à l’appui de la touche Entrée consiste à activer le bouton par défaut. Pour utiliser la touche ENTRÉE comme retour chariot, utilisez le style ES_WANTRETURN . Lorsque le contrôle d’édition multiligne n’est pas dans une boîte de dialogue et que le style ES_AUTOVSCROLL est spécifié, le contrôle d’édition affiche autant de lignes que possible et défile verticalement lorsque l’utilisateur appuie sur la touche Entrée. Si vous ne spécifiez pas ES_AUTOVSCROLL, le contrôle d’édition affiche autant de lignes que possible et des bips si l’utilisateur appuie sur la touche Entrée quand il n’y a plus de lignes. Si vous spécifiez le style ES_AUTOHSCROLL , le contrôle d’édition multiligne défile automatiquement horizontalement lorsque le caret dépasse le bord droit du contrôle. Pour démarrer une nouvelle ligne, l’utilisateur doit appuyer sur la touche Entrée. Si vous ne spécifiez pas ES_AUTOHSCROLL, le contrôle encapsule automatiquement les mots au début de la ligne suivante si nécessaire. Une nouvelle ligne est également démarrée si l’utilisateur appuie sur la touche Entrée. La taille de la fenêtre détermine la position de Wordwrap. Si la taille de la fenêtre change, la position de wordwrapping change et le texte est réaffiché. Les contrôles d’édition multiligne peuvent avoir des barres de défilement. Un contrôle d’édition avec des barres de défilement traite ses propres messages de barre de défilement. Notez que les contrôles de modification sans barres de défilement défilent comme décrit dans les paragraphes précédents et traitent les messages de défilement envoyés par la fenêtre parente. |
|
Annule le comportement par défaut d’un contrôle d’édition. Le comportement par défaut masque la sélection lorsque le contrôle perd le focus d’entrée et inverse la sélection lorsque le contrôle reçoit le focus d’entrée. Si vous spécifiez ES_NOHIDESEL, le texte sélectionné est inversé, même si le contrôle n’a pas le focus. |
|
Autorise uniquement les chiffres à entrer dans le contrôle d’édition. Notez que, même avec cet ensemble, il est toujours possible de coller des non-chiffres dans le contrôle d’édition. Pour modifier ce style une fois le contrôle créé, utilisez SetWindowLong. Pour traduire du texte entré dans le contrôle d’édition en valeur entière, utilisez la fonction GetDlgItemInt . Pour définir le texte du contrôle d’édition sur la représentation sous forme de chaîne d’un entier spécifié, utilisez la fonction SetDlgItemInt . |
|
Convertit le texte entré dans le contrôle d’édition. Le texte est converti de la Windows jeu de caractères au jeu de caractères OEM, puis de retour au jeu de caractères Windows. Cela garantit une conversion de caractères appropriée lorsque l’application appelle la fonction CharToOem pour convertir une chaîne Windows dans le contrôle d’édition en caractères OEM. Ce style est particulièrement utile pour les contrôles de modification qui contiennent des noms de fichiers qui seront utilisés sur les systèmes de fichiers qui ne prennent pas en charge Unicode. Pour modifier ce style une fois le contrôle créé, utilisez SetWindowLong. |
|
Affiche un astérisque (*) pour chaque caractère tapé dans le contrôle d’édition. Ce style est valide uniquement pour les contrôles d’édition à une seule ligne. Pour modifier les caractères affichés ou définir ou effacer ce style, utilisez le message EM_SETPASSWORDCHAR . [! Remarque] |
|
Empêche l’utilisateur de taper ou de modifier du texte dans le contrôle d’édition. Pour modifier ce style une fois le contrôle créé, utilisez le message EM_SETREADONLY . |
|
Aligne à droite le texte dans un contrôle d’édition monoligne ou multiligne. |
|
Convertit tous les caractères en majuscules au fur et à mesure qu’ils sont tapés dans le contrôle d’édition. Pour modifier ce style une fois le contrôle créé, utilisez SetWindowLong. |
|
Spécifie qu’un retour chariot doit être inséré lorsque l’utilisateur appuie sur la touche ENTRÉE tout en entrant du texte dans un contrôle d’édition multiligne dans une boîte de dialogue. Si vous ne spécifiez pas ce style, le fait d’appuyer sur la touche Entrée a le même effet que d’appuyer sur le bouton Push par défaut de la boîte de dialogue. Ce style n’a aucun effet sur un contrôle d’édition à une seule ligne. Pour modifier ce style une fois le contrôle créé, utilisez SetWindowLong. |
Spécifications
Condition requise | Valeur |
---|---|
En-tête |
|