Изменение шрифта и цвета


Ваше приложение может использовать специальное рисование, чтобы изменить шрифт элемента. Просто выберите HFONT, который Вы хотите иметь в контексте устройства, определенный членом hdc структуры NMCUSTOMDRAW, связанной с уведомлением специального рисования. Так как шрифт, который Вы выбираете, может иметь другой размер, не такой как шрифт по умолчанию, удостоверьтесь, что Вы включили бит CDRF_NEWFONT в возвращаемое значение для уведомляющего сообщения. Для получения дополнительной информации об использовании этих функциональных возможностей, см. типовой код в статье Использование специального рисования (Custom Draw). Шрифт, который ваше приложение определяет, используется, чтобы показать на экране тот элемент, который не выбирается. Специальное рисование не дает возможность Вам изменять атрибуты шрифта для выбранных элементов.

Чтобы изменять цвета текста для всех органов управления, которые поддерживают специальное рисование, за исключением Одноуровневого списка элементов (list view) и многоуровневого древовидного списка элементов (tree view), просто установите желаемые цвета текста и фона в контексте устройства, поставляемом структуре уведомления специального рисования функциями SetTextColor и SetBkColor. Чтобы модифицировать цвет текста в Одноуровневом списке элементов (list view) или многоуровневом древовидном списке элементов (tree view), Вы должны поместить желаемые коды цвета в члены clrText и clrTextBk структуры NMLVCUSTOMDRAW или NMTVCUSTOMDRAW.

Обратите внимание! на то, что до версии 6.0 стандартных органов управления, панели инструментов игнорируют флажок CDRF_NEWFONT. Версия 6.0 поддерживает флажок CDRF_NEWFONT, и Вы можете использовать его, чтобы выбрать другой шрифт для панели инструментов. Однако, Вы не можете изменить цвет панели инструментов, когда этот визуальный стиль активен. Чтобы изменить цвет панели инструментов в версии 6.0, Вы должны сначала запретить визуальные стили при помощи вызова функции SetWindowTheme и не определять никакого визуального стиля:
 
SetWindowTheme (hwnd, "", "");

 

Назад в оглавление
На главную страницу

Hosted by uCoz