4.12 - Основное и улучшенное диалоговые окна Цвет (Color)

Диалоговое окно Цвет (Color) имеет базисную версию и улучшенную модификацию. Базисная версия имеет элементы управления, которые показывают базисные и дополнительные цвета, из которых пользователь может выбирать. Улучшенная модификация включает базисные элементы управления и дополнительные, которые позволяют пользователю создавать дополнительные цвета. Базисная версия диалогового окна Цвет (Color) включает кнопку Определение дополнительных цветов (Define Custom Colors). Пользователь может щелкать мышью по этой кнопке, чтобы отобразить улучшенную версию. Вы можете дать указание диалоговому окну Цвет (Color), чтобы всегда показывать это улучшение, установив флажок CC_FULLOPEN в элементе Flags структуры CHOOSECOLOR. Чтобы запретить пользователю создание дополнительных цветов, вы можете установить флажок CC_PREVENTFULLOPEN, чтобы отключить кнопку Define Custom Colors.

13_1.gif (5459 b)

Основные цвета представляют собою выбор цветов, доступных на данном устройстве. Фактическое число отображаемых цветов определяется драйвером дисплея. Например, драйвер VGA показывает 48 цветов, а драйвера дисплея с черно-белым изображением показывает только 16.

Дополнительные цвета -это цвета, которые вы устанавливаете или которые создает пользователь. Когда вы создаете цветное диалоговое окно, вы должны использовать элемент lpCustColors структуры CHOOSECOLOR, чтобы установить начальные исходные значения для 16 дополнительных цветов. Если улучшенная версия диалогового окна Цвет (Color) открыта, пользователь может создавать дополнительный цвет одним из следующих методов:

  1. Перемещением курсора мыши в элементе управления цветом спектра и плавной регулировки яркости
  2. Вводя с клавиатуры значения красного, зеленого и синего (RGB) в полях редактирования Красный, Зеленый и Синий
  3. Вводя с клавиатуры значения оттенка, насыщенности и яркости (HSL) в редактируемые поля элементов управления Оттенок (Hue), Насыщенность (Sat), и Яркость (Lum)

Чтобы добавить новый дополнительный цвет в поддерживаемой цветовой гамме дисплея, пользователь может щелкнуть по кнопке Добавить дополнительные цвета (Add to Custom Colors). Это также заставляет диалоговое окно копировать значение RGB нового цвета в соответствующий элемент в массиве, указанном элементом lpCustColors. Чтобы сохранить новые дополнительные цвета между обращениями к функции ChooseColor, вы должны отвести статическую память для массива. Для получения дополнительной информации о цветовых моделях RGB и HSL, см. Цветовые модели, используемые диалоговым окном Цвет (Color).


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Владимир Соковиков - 17.03.2002