Partager via


Utilisation de contrôles personnalisés

Vous pouvez personnaliser les contrôles standard en utilisant le dessin du propriétaire pour modifier l’apparence du contrôle et en établissant une superclasse ou une sous-classe pour modifier le comportement du contrôle. Dans chaque cas, le code système sous-jacent pour le type de contrôle standard gère les fonctions de contrôle de base. La plupart de ces contrôles peuvent être accessibles si vous les utilisez correctement.

Un contrôle dessiné par le propriétaire basé sur un contrôle standard apparaît en tant que contrôle standard pour les aides à l’accessibilité et prend en charge l’accessibilité active de Microsoft ; toutefois, il a une apparence personnalisée. Certaines applications utilisent des contrôles personnalisés pour modifier l’apparence d’un contrôle, mais les contrôles dessinés par le propriétaire sont une solution plus accessible. Pour plus d’informations sur la définition de menus dessinés par le propriétaire et l’exposition des contrôles dessinés par le propriétaire, consultez Accessibilité.

L’établissement d’une superclasse ou d’une sous-classe est une technique permettant de personnaliser le comportement des contrôles existants. Selon le nouveau comportement du contrôle, il peut être nécessaire de compléter les informations d’accessibilité qu’il expose. Par exemple, une application peut utiliser un contrôle dessiné par le propriétaire pour afficher un X dans une zone de case activée sélectionnée, plutôt qu’une marque de case activée, ou étiqueter un bouton de commande avec une image au lieu d’un mot.

Lors de l’utilisation de contrôles dessinés par le propriétaire qui sont une superclasse ou une sous-classe :

  • Fournissez des étiquettes pour tous les contrôles, même lorsque les étiquettes ne sont pas visibles à l’écran. Si vous personnalisez un contrôle de sorte que le légende standard ne soit pas visible (par exemple, un bouton avec une face graphique) et que vous laissez le légende comme chaîne vide, l’aide d’accessibilité ne peut pas obtenir le légende et l’utiliser pour identifier le contrôle.
  • Vérifiez que WM_GETTEXT est pris en charge.
  • Assurez-vous que tous les messages spécifiques à la classe sont pris en charge. Il est particulièrement important de prendre en charge les messages de récupération de texte tels que les CB_GETLBTEXT et les LB_GETTEXT. Définissez les bits de style appropriés, tels que CBS_HASSTRINGS et LBS_HASSTRINGS, pour indiquer que le contrôle prend en charge ces messages.