Uso de controles personalizados
Puede personalizar los controles estándar mediante el dibujo de propietario para cambiar la apariencia del control y establecer una superclase o subclase para cambiar el comportamiento del control. En cada caso, el código del sistema subyacente para el tipo de control estándar controla las funciones de control básicas. La mayoría de estos controles pueden ser accesibles si los usa correctamente.
Un control dibujado por el propietario que se basa en un control estándar aparece como el control estándar para las ayudas de accesibilidad y admite la accesibilidad activa de Microsoft; sin embargo, tiene una apariencia personalizada. Algunas aplicaciones usan controles personalizados para cambiar la apariencia de un control, pero los controles dibujados por el propietario son una solución más accesible. Para obtener más información sobre cómo definir menús dibujados por el propietario y exponer controles dibujados por el propietario, vea Accesibilidad.
Establecer una superclase o subclase es una técnica para personalizar el comportamiento de los controles existentes. Dependiendo del nuevo comportamiento del control, puede ser necesario complementar la información de accesibilidad que expone. Por ejemplo, una aplicación puede usar un control dibujado por el propietario para mostrar una X en una casilla seleccionada, en lugar de una marca de verificación, o etiquetar un botón de comando con una imagen en lugar de una palabra.
Cuando se usan controles dibujados por el propietario que son una superclase o una subclase:
- Proporcione etiquetas para todos los controles, incluso cuando las etiquetas no estén visibles en la pantalla. Si personaliza un control para que el subtítulo estándar no esté visible (por ejemplo, un botón con una cara gráfica) y deje el subtítulo como una cadena en blanco, la ayuda de accesibilidad no podrá obtener el subtítulo y usarlo para identificar el control.
- Asegúrese de que se admite WM_GETTEXT .
- Asegúrese de que se admiten todos los mensajes específicos de clase. Es especialmente importante admitir mensajes de recuperación de texto, como CB_GETLBTEXT y LB_GETTEXT. Establezca los bits de estilo adecuados, como CBS_HASSTRINGS y LBS_HASSTRINGS, para indicar que el control admite esos mensajes.