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

    На этом шаге мы рассмотрим компонент Label.

    Компонент Label (рисунок 1) предназначен для отображения текстовой информации.


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

    Задать текст, отображаемый в поле компонента, можно как во время разработки формы, так и во время работы программы, присвоив значение свойству Text. Свойства компонента приведены в таблице 1.

Таблица 1. Свойства компонента Label
Свойство Описание
Name Имя (идентификатор) компонента. Используется в программе для доступа к компоненту
Text Отображаемый текст
Location Положение компонента на поверхности формы
Size Размер компонента (области отображения текста)
Font Шрифт, используемый для отображения текста
ForeColor Цвет текста, отображаемого в поле компонента
BackColor Цвет закраски области вывода текста
TextAlign Способ выравнивания (расположения) текста в поле компонента. Всего существует девять способов расположения текста. На практике наиболее часто используют выравнивание по левой и верхней границам (TopLeft), посередине (TopCenter) и по центру (MiddleCenter)
BorderStyle Вид рамки (границы) компонента. По умолчанию граница вокруг поля Label отсутствует (значение свойства равно None). Граница компонента может быть обычной (Fixed3D) или тонкой (FixedSingle)

    Чтобы в поле компонента Label вывести числовое значение, это значение надо преобразовать в строку. Сделать это можно при помощи метода ToString.

    Цвет текста (ForeColor) и фона (BackColor) можно задать, указав название цвета (Color::Red, Color::Blue, Color::Green и т. д.) или элемент цветовой схемы операционной системы (System::Drawing::SystemColors::Control, System::Drawing::SystemColors::ControlText и т. д.). Во втором случае цвет будет "привязан" к текущей цветовой схеме операционной системы и будет автоматически меняться при каждой ее смене. По умолчанию для элементов управления используется второй способ кодирования цвета. Цвет фона может быть "прозрачным" (Color::Transparent).

    Программа "Конвертер" (ее форма приведена на рисунке 2, а текст функции обработки события Click, возникающего при щелчке на кнопке OK — в листинге ниже) демонстрирует возможности компонента Label. Она показывает, как во время работы программы изменить цвет текста, отображаемого в поле компонента, как вывести в поле компонента значение переменной, а также как разбить отображаемый текст на строки. Программа пересчитывает цену из долларов в рубли. Если пользователь оставит какое-либо из полей незаполненным, то в результате щелчка на кнопке OK в поле компонента Label3 красным цветом отображается сообщение об ошибке. Если все поля формы заполнены, то в поле компонента Label3 в две строки отображается результат расчета.


Рис.2. Форма программы "Конвертер"

    Обработка события Click:

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
	double usd; // цена в долларах
	double k; // курс 
	double rub; // цена в рублях 
	if ((textBox1->Text->Length != 0) && 
		(textBox2->Text->Length != 0)) 
	{ 
		usd = System::Convert::ToDouble(textBox1->Text); 
		k = System::Convert::ToDouble(textBox2->Text); 
		rub = usd * k; 
		label3->ForeColor = System::Drawing::SystemColors::ControlText; 
		label3->Text = usd.ToString("n") + "$ = " + rub.ToString("c"); 
	} 
	else 
	{ 
		label3->ForeColor = Color::Red; 
		label3->Text = "Надо ввести данные в оба поля"; 
	}
 }
Архив проекта можно взять здесь.

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




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