Базовые компоненты. Компонент CheckBox

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

   
Компонент CheckBox (рисунок 1) представляет флажок, который может находиться в одном из двух состояний: выбранном или невыбранном.


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

   
Часто вместо "выбранный" говорят "установленный", а вместо "невыбранный" — "сброшенный" или "выключенный". Рядом с флажком, как правило,
находится поясняющий текст. Компоненты CheckBox обычно используют для выбора нескольких опций из ряда возможных.

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

Таблица 1. Свойства компонента CheckBox

СвойствоОписание
TextТекст, поясняющий назначение флажка
CheckedСостояние (вид) флажка. Если флажок выбран, то значение свойства равно True. Если флажок сброшен, то значение свойства равно False
TextAllignПоложение текста в поле отображения текста. Текст может располагаться в центре поля (MiddleCenter), быть прижат к левой (MiddleLeft) или правой (MiddleRight) границе. Можно задать и другие способы размещения текста надписи (TopLeft, TopCenter, TopRight, BottomLeft, BottomCenter, BottomRight)
CheckAllignПоложение флажка в поле компонента. Флажок может быть прижат к левой верхней границе (TopLeft), прижат к левой границе и находиться на равном расстоянии от верхней и нижней границ поля компонента (MiddleLeft). Есть и другие варианты размещения флажка в поле компонента
EnabledСвойство позволяет сделать флажок недоступным (False)
VisibleСвойство позволяет скрыть (False) флажок
AutoCheckСвойство определяет, должно ли автоматически изменяться состояние флажка в результате щелчка на его изображении. По умолчанию значение равно True
FlatStyleСтиль (вид) флажка. Флажок может быть обычным (Standard), плоским (Flat) или "всплывающим" (Popup). Стиль определяет поведение флажка при позиционировании указателя мыши на его изображении
AppearanceОпределяет вид флажка. Флажок может выглядеть обычным образом (Normal) или как кнопка (Button)
ImageКартинка, которая отображается в поле компонента
ImageAlignПоложение картинки в поле компонента. Картинка может располагаться в центре (MiddleCenter), быть прижата к левой (MiddleLeft) или правой (MiddleRight) границе.
Можно задать и другие способы размещения картинки на кнопке (TopLeft, TopCenter, TopRight, BottomLeft, BottomCenter, BottomRight)
ImageListНабор картинок, используемых для обозначения различных состояний кнопки. Представляет собой объект типа ImageList. Чтобы задать
значение свойства, в форму приложения следует добавить компонент ImageList
ImageIndexНомер (индекс) картинки из набора ImageList, которая отображается в поле компонента

   
Состояние флажка изменяется в результате щелчка на его изображении (если значение свойства AutoCheck равно True). При этом возникает событие
CheckedChanged, а потом событие Click. Если значение свойства AutoCheck равно False, то в результате щелчка на
флажке возникает событие Click, а затем, если процедура обработки этого события изменит состояние кнопки, возникает событие CheckedChanged.

   
Следующая программа (ее окно приведено на рисунке 2, а текст — в листинге ниже) демонстрирует использование компонента CheckBox.


Рис.2. Окно программы "Комплектация"

   
Программа позволяет посчитать цену автомобиля в зависимости от выбранной комплектации.

private: System::Void button1_Click(System::Object^  sender, 
	System::EventArgs^  e) {
	double cena; // цена в базовой комплектации 
	double dop; // сумма за доп. оборудование 
	double discount; // скидка 
	double total; // общая сумма 
	cena = 415000; 
	dop = 0; 
	if (checkBox1->Checked) 
	{ 
		// коврики 
		dop += 1200; 
	}
	if (checkBox2->Checked) 
	{ 
		// защита картера 
		dop += 4500; 
	} 
	if (checkBox3->Checked) 
	{ 
		// зимние шины 
		dop += 12000; 
	} 
	if (checkBox4->Checked) 
	{ 
		// литые диски 
		dop += 12000; 
	} 
	total = cena + dop; 
	System::String ^st; 
	st = "Цена в выбранной комплектации: " + total.ToString("C"); 
	if (dop != 0) 
	{ 
		st += "\nВ том числе доп. оборудование: " + 
		dop.ToString("C"); 
	} 
	if ((checkBox1->Checked) && (checkBox2->Checked) && 
		(checkBox3->Checked) && (checkBox4->Checked)) 
	{ 
		// Скидка предоставляется, если 
		// выбраны все опции 
		discount = dop * 0.1; 
		total = total - discount; 
		st += "\nСкидка на доп. оборудование (10%): " + 
			discount.ToString("C") + 
			"\nИтого: " + total.ToString("C"); 
	} 
	label2->Text = st; 
}

private: System::Void checkBox1_Click(System::Object^  sender, 
	System::EventArgs^  e) {
	label2->Text = ""; 
}

   
Для отображения картинки в окне программы "Комплектация" используется компонент PictureBox. Картинка загружается в
компонент из файла, который должен находиться в том же каталоге, что и выполняемый файл. Картинка загружается во время работы программы.
Делает это конструктор формы:

Form1(void)
{
	InitializeComponent();
	//
	//TODO: добавьте код конструктора
	//
	this->pictureBox1->Image =
		Image::FromFile(Application::StartupPath+"\\Lacetti_r.jpg");
}

Архив проекта можно взять здесь.

   
Если картинка находится в папке иллюстраций пользователя (Мои рисунки), то получить путь к файлу иллюстрации можно, вызвав функцию
System::Environment::GetFolderPath(System::Environment::SpecialFolder:: MyPictures).

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



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий