Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_Delphi_1курс лекции / Тема 08 Системные диалоги .doc
Скачиваний:
54
Добавлен:
23.03.2015
Размер:
118.27 Кб
Скачать

Диалоги выбора цвета Компонент ColorDialog

Страница Dialogs

Компонент ColorDialog вызывает стандартное диалоговое окно выбора цвета, представленное на рисунке. В нем пользователь может выбрать цвет из базовой палитры или, нажав кнопку Определить цвет, раскрыть дополнительную панель (на рис. она раскрыта), позволяющую синтезировать цвет, отличный от базовых. Синтезированный цвет можно добавить кнопкой Добавить в набор в палитру дополнительных цветов на левой панели и использовать его в дальнейшем.

Диалог не появляется во время выполнения, пока это не активизировано обращением к методу Execute.

Свойства

Color:TColor – Возвращает выбранный цвет. Это основное свойство компонента. Если при вызове диалога желательно установить некоторое начальное приближение цвета, это можно сделать, установивColor предварительно во время проектирования или программно.

Значение цвета может задаваться как 4-байтовое шестнадцатеричное число, три младших разряда которого представляют собой интенсивности синего, зеленого и красного цвета соответственно. Например, значение $00FF0000 соответствует чистому синему цвету, $0000FF00 - чистому зеленому, $000000FF - чистому красному. $00000000 - черный цвет, $00FFFFFF - белый.

Если старший байт равен нулю ($00), то берется ближайший к заданному цвет из системной палитры. Если старший байт равен единице ($01), то берется ближайший к заданному цвет из текущей палитры. Если старший байт равен двум ($02), то берется ближайший к заданному цвет из логической палитры контекста данного устройства.

Значение цвета может задаваться также, равным одной из предопределенных в Delphi констант.Одни из них непосредственно определяют цвета (например clBlue - синий), другие определяют цвета элементов окон, которые могут меняться в зависимости от выбранной пользователем палитры цветов Windows (например, clBtnFace - цвет поверхности кнопок).

CustomColors:TStrings – позволяет задать заказные цвета дополнительной палитры. Каждый цвет определяется строкой вида

<Имя цвета>=<шестнадцатеричное представление цвета>;

Имена цветов задаются от ColorA (первый цвет) до ColorP (шестнадцатый, последний)

Например, строка

ColorA=B08022

задает первый заказной цвет.

Options – множество опций:

cdFullOpen– Отображать сразу при открытии диалогового окна панели определения заказных цветов.

cdPreventFullOpen– Запретить появление в диалоговом окне кнопки Определить цвет, так что пользователь не сможет определять новые цвета.

cdShowHelp– Добавить в диалоговое окно кнопку Справка.

cdSolidColor– Указать Windows использовать сплошной цвет, ближайший к выбранному (это обедняет палитру).

cdAnyColor– Разрешать пользователю выбирать любые не сплошные цвета (такие цвета могут быть неровными).

По умолчанию все опции выключены.

Приведем пример применения компонента ColorDialog. Если вы хотите, чтобы пользователь мог задать цвет какого-то объекта, например, цвет фона компонента Memol, то это можно реализовать оператором

if ColorDialogl.Execute then Memol.Color:=ColorDialogl.Color;