Компоненты 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, определяющее рамку текста − бордюр, и Panel − BevelInner, позволяющее разнообразно оформлять надписи.
Вертикальный и горизонтальный размеры 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 (шрифт) установите подсвойства Color − clHotLight, Size − 8 и, нажав на кнопку с тремя точками, установите шрифт − курсив, цвет − черный.
3.Перенесите на форму вторую метку Label2. Установите мышью ее размеры такими, чтобы она вместила 100 двузначных чисел, а также свойства Color − clYellow, AutoSize − false, WordWrap − true, шрифт − полужирный.
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.Сохраните проект и выполните приложение. Нажимая на кнопку ПУСК, убедитесь в работоспособности приложения.