Диалоговое окно Цвет (Color) возвращает RGB - значение цвета, выбранного пользователем. Пользователь может выбирать из набора основных цветов, определяемых драйвером дисплея, или из набора дополнительных (пользовательских) цветов. Вы должны определить начальный набор дополнительных цветов, но можете дать возможность пользователям создавать свои собственные дополнительные цвета.
Вы создаете и показываете на экране диалоговое окно Цвет (Color), инициализируя структуру CHOOSECOLOR и передавая её в функцию ChooseColor.
Вы можете частично открыть диалоговое окно Цвет (Color), чтобы отобразить основной и дополнительные цвета, из которых пользователь может выбирать, или можете полностью открыть диалоговое окно, чтобы показать на экране дополнительные органы управления, которые дают возможность пользователю создавать дополнительные цвета. Нижеследующая иллюстрация показывает полностью открытое диалоговое окно Цвет (Color).
Если пользователь щелкает кнопкой мыши по кнопке OK, функция ChooseColor возвращает значение ИСТИНА (TRUE). Член rgbResult структуры CHOOSECOLOR содержит величину цвета RGB , выбранного пользователем. Величина цвета RGB устанавливает интенсивность отдельных красных, зеленых и синих цветов, которые формируют выбранный цвет. Эти отдельные значения в диапазоне от 0 до 255. Используйте макроопределения GetRValue, GetGValue и GetBValue, чтобы извлечь отдельные цвета из значения цвета RGB.
Если пользователь отменяет действие диалогового окна Цвет (Color) или происходит ошибка, ChooseColor возвращает значение ЛОЖЬ (FALSE), а член структуры rgbResult не определяется. Чтобы выяснить причину ошибки, вызовите функцию CommDlgExtendedError, чтобы извлечь дополнительное значение ошибки.
В этом разделе обсуждаются нижеследующие темы: