Компоненты Label, StaticText, Panel

Компоненты Label, StaticText, Panelиспользуются для отображения различных надписей на форме. Основное назначение панели Panel − компоновка компонентов в окне формы. Однако панель можно использовать и для вывода текстов.

Тексты, отображаемые в компонентах, являются значениями их свойства Caption. Его можно устанавливать в процессе проектирования или задавать и изменять программно во время выполнения приложения. Например: Label1->Caption = “Введен массив”;

Свойство Caption имеет тип строки AnsiString. При присваивании этому типу числовой информации происходит ее автоматическое преобразование в строку. Например, оператор Label1->Caption=3.4; приведет к появлению в метке надписи «3,4». Но если нужно занести в метку смешанную информацию, состоящую из строк символов и чисел, то необходимо воспользоваться функциями FloatToStr и IntToStr, переводящими соответственно числа с плавающей запятой и целые в строку, и операцией «+», которая для строк означает их конкатенацию (склеивание).

Во всех компонентах цвет фона определяется свойством Color, а цвет надписи − подсвойством Color свойства Font.

Для метки Label цвет и шрифт − единственно доступные элементы оформления надписи. Компоненты StaticTextиPanel имеют еще свойство BorderStyle, определяющее рамку текста − бордюр, и PanelBevelInner, позволяющее разнообразно оформлять надписи.

Вертикальный и горизонтальный размеры LabelиStaticText определяются размером надписи, если свойство AutoSize установить в true.

В метке Label имеется свойство WordWrap − допустимость переноса слов длинной надписи, превышающей длину компонента, на новую строчку. Для осуществления переноса нужно WordWrap установить в true, AutoSize− в false, а горизонтальный и вертикальный размеры метки сделать такими, чтобы в ней могло поместиться нужное число строчек приемлемой длины.

В метке StaticText перенос длинного текста осуществляется автоматически, если AutoSize установить в false, а вертикальный размер метки − достаточным для размещения нескольких строчек.

В панели размещение надписи в нескольких строчках невозможно.

 

Рассмотрим использование компонентов LabelиStaticText на примере формирования и обменной сортировки массива из целых чисел.

1.Создайте для проекта приложения каталог (папку Windows), запустите C++Builder 6, создайте новый проект и командой Сохранить все сразу сохраните файл модуля и проект под разными именами.

2.Перенесите в середину верхней части пустой формы меткуLabel1, установите ее свойство Color таким, чтобы метка была видна на форме,в свойствоCaption впишите Исходный массив, в свойстве Font (шрифт) установите подсвойства ColorclHotLight, Size − 8 и, нажав на кнопку с тремя точками, установите шрифт − курсив, цвет − черный.

3.Перенесите на форму вторую метку Label2. Установите мышью ее размеры такими, чтобы она вместила 100 двузначных чисел, а также свойства ColorclYellow, AutoSizefalse, WordWraptrue, шрифт − полужирный.

4.Перенесите в середину формы, ниже второй метки Label2, метку StaticText1. Установите шрифт курсив, размером 12. В свойство Caption напишите Отсортированный массив, в Color установите clCream.

5.Перенесите на форму вторую метку StaticText2. Установите свойство AutoSize в false, остальные − аналогично второй метке Label2.

6.Перенесите в нижнюю часть формы кнопку Button1и измените ее свойство Caption на ПУСК.

7.В заголовочном файле добавьте директиву #include<stdlib.h>

8.Задайте обработчик события (щелчок кнопки) следующим образом:

const int n=100;

//---------------------------------------------------------------------------

void __fastcall Tform1::Button1Click(Tobject *Sender)

{ AnsiString s1,s2;

int i,j,k[n],z;

for(i=0;i<n;i++) k[i]=random(101)-50;

s1=s2=””;

for(i=0;i<n;i++) s1+=” “+IntToStr(k[i]);

Label2->Caption=s1; // вывод исходного массива

// обменная сортировка массива

for(i=0;i<n-1;i++)

for(j=i+1;j<n;j++)

if(k[i]>k[j]) {z=k[i]; k[i]=k[j]; k[j]=z;}

for(i=0;i<n;i++) s2+=” “+IntToStr(k[i]);

StaticText2->Caption=s2; // вывод отсортированного массива

}

//---------------------------------------------------------------------------

9.Сохраните проект и выполните приложение. Нажимая на кнопку ПУСК, убедитесь в работоспособности приложения.