На этом шаге мы рассмотрим назначение, основные свойства и особенности использования этого компонента.
В приложении прошлого шага для выбора цвета был использован компонент ColorDialog. Остановимся на нем поподробнее.
Компонент ColorDialog (рисунок 1) является стандартным диалоговым окном и предназначен для выбора цвета.
Рис.1. Компонент ColorDialog
Основные свойства этого компонента приведены в таблице 1.
Свойство | Описание | AllowFullOpen | Получает или задает значение, показывающее, может ли пользователь использовать диалоговое окно для определения собственных цветов. При значении False пользователь не получает доступ к правой части диалогового окна, где можно определить свой цвет |
---|---|
AnyColor | Получает или задает значение, указывающее, отображает ли диалоговое окно в наборе основных цветов все доступные цвета (True - да) |
Color | Получает или задает выбранный пользователем цвет |
FullOpen | Получает или задает значение, указывающее, видимы ли при открытии диалогового окна элементы управления, используемые для создания настраиваемых цветов. При значении True пользователь при открытии диалогового окна сразу же видит область задания собственного цвета |
SolidColorOnly | Получает или задает значение, указывающее, будет ли выбор пользователей в данном диалоговом окно ограничен только сплошными цветами (False - нет) |
Для активизации диалогового окна выбора цвета также используется метод ShowDialog(). Выбранный пользователем цвет возвращается в свойстве Color этого компонента.
Приведем еще раз текст обработчика события нажатия на кнопку Выбор цвета:
. . . . . // задание цвета private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { colorDialog1->Color = textBox1->BackColor; if (colorDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK) { aPen->Color = colorDialog1->Color; textBox1->BackColor = colorDialog1->Color; } } . . . . .
Здесь сначала устанавливается заданный ранее цвет в компоненте ColorDialog:
colorDialog1->Color = textBox1->BackColor;
Затем отображается окно выбора цвета, используя метод ShowDialog(). Если окно было закрыто нажатием на кнопку OK, то выбранный цвет помещается в соответствующее свойство карандаша и сохраняется в свойстве BackColor текстовой области:
aPen->Color = colorDialog1->Color; textBox1->BackColor = colorDialog1->Color;
На следующем шаге мы рассмотрим кисть.