Contrôle MaskedEdit

Le contrôle MaskedEdit est un contrôle de champ d’édition qui contient un masque dans le champ de texte du contrôle. Vous pouvez associer le contrôle à une propriété de valeur de chaîne en entrant le nom de la propriété dans la colonne Property de la table Control.

Vous pouvez utiliser le contrôle MaskedEdit pour créer un modèle pour la saisie d’informations par l’utilisateur, comme un numéro de téléphone ou un code d’ID de produit. Par exemple, la propriété PIDKEY peut être entrée par l’utilisateur via un contrôle MaskedEdit qui est spécifié en définissant la propriété PIDTemplate sur une chaîne comme suit :

12345<### -%%%%%%%>@@@@@

La chaîne définit le modèle de masquage pour l’entrée de la propriété PIDKEY par l’utilisateur. Le segment visible de la chaîne est entouré d’une paire de caractères entre crochets (<>).

Le tableau suivant a identifié la syntaxe du masque.

Caractère Signification
< Extrémité gauche du segment visible du modèle. Ce caractère et tout ce qui se trouve à sa gauche sont masqués dans l’interface utilisateur. Il ne doit pas y avoir plus d’une instance de ce caractère dans le modèle.
> Extrémité droite du segment visible du modèle. Ce caractère et tous les éléments qui se trouvent à sa droite sont masqués dans l’interface utilisateur. Ce caractère est remplacé par un tiret pendant la validation. S’il existe un segment visible commençant par <, il doit être terminé par un > correspondant.
# Ce caractère peut être un chiffre.
% Ce caractère peut être un autre chiffre qui permet au masque de contrôler la façon dont une action personnalisée différencie les champs.
@ Ce caractère peut être un chiffre aléatoire. Ce caractère ne doit pas apparaître dans la partie visible du modèle.
& Ce caractère peut être n’importe quel caractère.
^ Ce caractère peut être un autre caractère qui permet au masque de contrôler la façon dont une action personnalisée différencie les champs.
? Ce caractère peut être un autre caractère qui permet au masque de contrôler la façon dont une action personnalisée différencie les champs.
` Les marques d’accent grave ` (valeur ASCII 96) peuvent représenter un autre caractère qui permet au masque de contrôler la façon dont une action personnalisée différencie les champs.
_ Ce caractère est un caractère de soulignement littéral.
= Ce caractère est l’élément de fin de champ. Il doit suivre un #, %, ^, ou `. Cela crée une position d’entrée supplémentaire du même type que les positions précédentes et termine le champ avec un séparateur « - ».

 

Tout autre caractère est traité comme une constante littérale.

Pour les caractères qui peuvent être modifiés, le contrôle crée des fenêtres d’édition distinctes avec une fenêtre pour chaque bloc de caractères contigus du même type.

Attributs de contrôle

Pour modifier la valeur d’un attribut qui utilise un événement, abonnez le contrôle à un événement Control dans la table EventMapping et répertoriez l’identificateur d’attribut dans la colonne Attribute. Entrez l’identificateur de l’événement Control dans la colonne Event. Vous pouvez utiliser les attributs suivants avec le contrôle MaskedEdit.

Attribut Bit hexadécimal Description
IndirectPropertyName Il s’agit du nom d’une propriété indirecte associée au contrôle. Si le bit d’attribut indirect est défini, le contrôle affiche ou modifie la valeur de la propriété qui porte ce nom. Si le bit d’attribut indirect est défini, ce nom est également la valeur de la propriété répertoriée dans la colonne Property de la table Control.
Position Position du contrôle dans la boîte de dialogue. Entrez la largeur, la hauteur et les coordonnées du contrôle dans le coin gauche du contrôle dans les colonnes Width, Height, X et Y de la table Control. Utilisez les unités du programme d’installation pour la longueur et la distance.
PropertyName Il s’agit du nom de la propriété associée à ce contrôle. Si le bit d’attribut indirect n’est pas défini, le contrôle affiche ou modifie la valeur de la propriété qui porte ce nom. Cet attribut est spécifié dans la colonne Property de la table Control.
PropertyValue Valeur actuelle de la propriété affichée ou modifiée par ce contrôle. Si le bit d’attribut indirect n’est pas défini, il s’agit de la valeur de PropertyName. Si le bit d’attribut indirect est défini, il s’agit de la valeur d’IndirectPropertyName. Si l’attribut change, le contrôle reflète la nouvelle valeur.
Texte Pour définir la police et le style de police d’une chaîne de texte, préfixez la chaîne des caractères affichés avec {\style} ou {&style}. Où style est un identificateur répertorié dans la colonne Style de la table TextStyle. Si aucun de ces éléments n’est présent, mais que la propriété DefaultUIFont est définie comme un style de texte valide, cette police est utilisée. La chaîne qui spécifie le modèle de masquage suit ce préfixe et utilise la syntaxe décrite précédemment dans cette rubrique.
Visible 0x00000000 0x00000001
Contrôle masqué. Contrôle visible.
Incluez ce bit dans le mot de bits de la colonne Attributes de la table Control pour rendre le contrôle visible ou masqué lors de sa création.
Vous pouvez également masquer ou afficher un contrôle à l’aide de la table ControlCondition.
Activé 0x00000000 0x00000002
Contrôle dans un état désactivé. Contrôle dans un état activé.
Incluez ce bit dans le mot de bits dans la colonne Attributes de la table Control pour activer le contrôle lors de la création.
Vous pouvez également activer ou désactiver un contrôle à l’aide de la table ControlCondition.
Sunken 0x00000000 0x00000004
Affiche le style visuel par défaut. Affiche le contrôle avec un aspect enfoncé 3D.
Incluez ces bits dans le mot bit dans la colonne Attributes de la table Control.
Indirect 0x00000000 0x00000008
Le contrôle affiche ou modifie la valeur de la propriété dans la colonne Property de la table Control. Le contrôle affiche ou modifie la valeur de la propriété dont l’identificateur est répertorié dans la colonne Property de la table Control.
Détermine si la propriété associée à ce contrôle est référencée indirectement.

 

Notes

Le contrôle MaskedEdit crée une fenêtre parente de la classe BUTTON avec les styles BS_OWNERDRAW et WS_EX_CONTROLPARENT. Il crée plusieurs fenêtres enfants dans cette fenêtre.

  • Pour les parties de texte constant, il crée des fenêtres STATIC avec les styles SS_LEFT et WS_CHILD.
  • Pour les champs modifiables, il crée une fenêtre EDIT avec les styles WS_CHILD, WS_BORDER et WS_TABSTOP.
  • Pour les champs numériques, la fenêtre a également le style ES_NUMBER.

L’autre chiffre, %, et les autres caractères alphanumériques, ^, ?, et ` permettent aux actions personnalisées de différencier les champs d’une manière qui peut être contrôlée par le masque. Par exemple, ^ peut être utilisé pour les champs qui doivent être en majuscules.