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

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

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


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

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

    Чтобы в строке состояния отображался текст, в нее надо добавить элемент StatusLabel. Для этого нужно сделать щелчок на значке раскрывающегося списка, который отображается в поле компонента StatusStrip, и выбрать StatusLabel (рисунок 2).


Рис.2. Добавление элемента в строку состояния

    После этого надо выполнить настройку компонента toolStripStatusLabel - задать значения свойств (таблица 1).

Таблица 1. Свойства объекта StatusLabel
Свойство Описание
Text Текст, отображаемый в панели
AutoSize Признак автоматического изменения размера панели. Если значение свойства равно True, то размер ширины панели зависит от ее содержания (длины текста). Если значение свойства равно False, то ширину панели определяет свойство Size.Width
BorderStyle Вид границы панели
BorderSides Определяет отображаемые границы
Spring Определяет, должен (True) или нет (False) компонент занимать всю доступную область строки состояния

    Следующая программа (ее форма приведена на рисунке 3) демонстрирует использование компонента StatusStrip.


Рис.3. Форма программы StatusStrip

    В строке состояния отражаются текущая дата и количество символов, которое пользователь ввел в поле редактирования. Значения свойств компонента StatusStrip приведены в таблице 2.

Таблица 2. Значения свойств компонентов toolStripStatusLabel
Свойство Значение
toolStripStatusLabel1.AutoSize False
toolStripStatusLabel1.Size.Width 50
toolStripStatusLabel1.Text 0
toolStripStatusLabel1.BorderSides Right
toolStripStatusLabel2.Spring True
toolStripStatusLabel2.TextAlign MiddleRight

    Вывод информации о количестве введенных символов выполняет процедура обработки события TextChanged компонента TextBox. Отображение даты обеспечивает конструктор формы.

    Приведем текст приложения.

.   .   .   .   .
// конструктор формы
Form1(void)
{
	InitializeComponent();
	//
	//TODO: добавьте код конструктора
	//
	statusStrip1->Items[1]->Text = DateTime::Now.ToLongDateString();
	}
.   .   .   .   .
// изменилось содержимое поля редактирования
private: System::Void textBox1_TextChanged(System::Object^  sender, 
        System::EventArgs^  e) {
	 int len;
len = textBox1->Text->Length;
statusStrip1->Items[0]->Text = len.ToString("D");
 }
Архив проекта можно взять здесь.

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




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