Шаг 57.
Microsoft Visual C++ 2010. Начала.
Базовые компоненты. Компонент ColorDialog

    На этом шаге мы рассмотрим назначение, основные свойства и особенности использования этого компонента.

    В приложении прошлого шага для выбора цвета был использован компонент ColorDialog. Остановимся на нем поподробнее.

    Компонент ColorDialog (рисунок 1) является стандартным диалоговым окном и предназначен для выбора цвета.


Рис.1. Компонент ColorDialog

    Основные свойства этого компонента приведены в таблице 1.

Таблица 1. Свойства компонента FontDialog
Свойство Описание
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;

    На следующем шаге мы рассмотрим кисть.




Предыдущий шаг Содержание Следующий шаг