Поделиться через


Использование пользовательских элементов управления

Стандартные элементы управления можно настроить с помощью рисования владельца для изменения внешнего вида элемента управления и создания суперкласса или подкласса для изменения поведения элемента управления. В каждом случае базовый системный код для стандартного типа элемента управления обрабатывает основные функции управления. Большинство этих элементов управления могут быть доступны при их правильном использовании.

Элемент управления, нарисованный владельцем, основанный на стандартном элементе управления, отображается как стандартный элемент управления для специальных возможностей и поддерживает microsoft Active Accessibility; однако он имеет настраиваемый внешний вид. Некоторые приложения используют пользовательские элементы управления для изменения внешнего вида элемента управления, но элементы управления, нарисованные владельцем, являются более доступным решением. Дополнительные сведения о том, как определять нарисованные владельцем меню и предоставлять элементы управления, нарисованные владельцем, см. в разделе Специальные возможности.

Создание суперкласса или подкласса — это метод настройки поведения существующих элементов управления. В зависимости от нового поведения элемента управления может потребоваться дополнить предоставляемые им сведения о специальных возможностях. Например, приложение может использовать нарисованный владельцем элемент управления для отображения X в выбранном поле проверка, а не проверка метки, или пометить кнопку команды рисунком, а не словом.

При использовании элементов управления, нарисованных владельцем, которые являются либо суперклассом, либо подклассом:

  • Укажите метки для всех элементов управления, даже если метки не видны на экране. Если вы настроите элемент управления таким образом, чтобы стандартный подпись не был виден (например, кнопка с графическим лицом) и оставить подпись пустой строкой, средство специальных возможностей не сможет получить подпись и использовать его для идентификации элемента управления.
  • Убедитесь, что WM_GETTEXT поддерживается.
  • Убедитесь, что поддерживаются все сообщения, относящиеся к определенному классу. Особенно важно поддерживать текстовые сообщения, такие как CB_GETLBTEXT и LB_GETTEXT. Задайте соответствующие биты стиля, например CBS_HASSTRINGS и LBS_HASSTRINGS, чтобы указать, что элемент управления поддерживает эти сообщения.