Использование пользовательских элементов управления
Стандартные элементы управления можно настроить с помощью рисования владельца, чтобы изменить внешний вид элемента управления и установить суперкласс или подкласс, чтобы изменить поведение элемента управления. В каждом случае базовый системный код стандартного типа элемента управления обрабатывает основные функции управления. Большинство этих элементов управления могут быть доступны, если они используются правильно.
Элемент управления, создаваемый владельцем и основанный на стандартном элементе управления, отображается для вспомогательных технологий как стандартный элемент управления и поддерживает Microsoft Active Accessibility, однако имеет настраиваемый внешний вид. Некоторые приложения используют пользовательские элементы управления для изменения внешнего вида элемента управления, но элементы управления, нарисованные владельцем, являются более доступным решением. Дополнительные сведения о том, как определить меню, нарисованные владельцем, и предоставить элементы управления, нарисованные владельцем, см. в специальных возможностей.
Установка суперкласса или подкласса — это способ настройки поведения существующих элементов управления. В зависимости от нового поведения элемента управления может потребоваться дополнить сведения о специальных возможностях, предоставляемые им. Например, приложение может использовать управляемый пользователем элемент управления для отображения X вместо галочки в выбранном флажке или для размещения изображения вместо слова на кнопке команды.
При использовании элементов управления, нарисованных владельцем, которые являются суперклассом или подклассом:
- Укажите метки для всех элементов управления, даже если метки не отображаются на экране. Если вы настраиваете элемент управления таким образом, чтобы стандартный заголовок не виден (например, кнопка с графическим лицом) и оставьте подпись пустой строкой, помощь по специальным возможностям не может получить подпись и использовать ее для идентификации элемента управления.
- Убедитесь, что поддерживается WM_GETTEXT.
- Убедитесь, что поддерживаются все специфичные для класса сообщения. Особенно важно поддерживать текстовые сообщения, такие как CB_GETLBTEXT и LB_GETTEXT. Задайте соответствующие биты стиля, такие как CBS_HASSTRINGS и LBS_HASSTRINGS, чтобы указать, что элемент управления поддерживает эти сообщения.