Урок 2 Компоненты.Основные св-ва TLabel, TMemo No title

10-Oct-2005


Сегодня мы познакомимся с основными св-вами компонентов TMemo, TLabel.Многие из них можно будет применить к другим визуальным компонентам .
Приступим, найдите на панели сверху вкладку Standart и киньте на форму Button, Label, Memo.



Св-ва TLabel:

Label 1->Caption="надпись";
//надпись на Label1
Label1->Enabled=true; //делает надпись доступной или недоступной(становится серым цветом)
Label1->Color=clBlack; //придаёт чёрный цвет Label'у
Label1->Font->Color=clWindowText;
//цвет текста
Label1->Font->Style=fsBold;
// делает текст жирным, нажмите на Label и посмотрите в Object Inspector все св-ва и варианты их значений для форматирования текста.

далее будут просто св-ва и их описания:
Align - занимаемая область нужно для выравнивания при изменениях размеров родителя (например формы)
Alignment - выравнивание текста лево право
Anchors - используется при изменении размеров родителя (например формы)
AutoSize - если true то длинный текст будет обрезан
Constraints - используется для задания максимальных и минимальных размеров
Cursor - вы можете выбрать курсор при наведении на компонент он будет изменяться
Layout - выравнивание текста верх низ
Name - имя компонента
ShowAccelChar - если true тогда любой символ за & будет подчёркнут
Tag - поочерёдность при перемешении табом
Transparent - если true затемняет собой другие элементы


Следующие 6 свойств характерны практически для всех визуальных компонент.
Label1->Top=50; // Отступ от верха формы
Label1->Left=50; // Отступ от левой границы формы
Label1->Width=100;// ширина Label'а
Label1->Height=12; // высота Label'а
Label1->Visible=false; //делает Label невидимым
Label1->Hint="текст";
// текст надписи, появляющейся при наведении мыши на компонент(чтобы он был виден, не забудьте указать Label1->ShowHint=true;)

Помимо свойств у каждого компонента есть обработчик событий, т.е. можно сделать так что бы программа совершала какие-нибудь операции.Допустим, при наведении на Label он меняет цвет текста, размер или же совершаются действия над другими компонентами.Посмотрите в Object Inspector вкладку Properities - там слева находится св-во, а справа его значение, которое мы меняли программно в прошлых уроках.Правая вкладка - Events - это события компонента Label1 на которые программа будет выполнять те или иные действия.Чтобы прописать дейсвия для любого из событий - просто кликните два раза по ячейке из второго столбика напротив нужного события.


Основные события компонента TLabel:
OnClick - шелчёк мыши на компоненте
OnDblClick - двойной шелчёк мыши на компоненте
OnMouseDown - нажатие клавиши мыши над компонентом
OnMouseUp - отжатие клавиши мыши над компонентом
OnMouseEnter - курсор мыши вошёл в область метки
OnMouseLeave - курсор мыши покинул область метки
OnMouseMove - курсор мыши перемещается над компонентом

Св-ва TMemo:

Memo1->BorderStyle=bsNone;
// убирает границы у компонента
Memo1->BorderWidth=2; //указывает ширину линии рамки в 2 пиксела
Memo1->Clt3D=false; //показывает\убираетт объёмность
Memo1->ReadOnly=false; // запрещает редактирование текста в Memo1
Memo1->Scrollbars=ssNone; // наличие полос прокрутки
Memo1->WordWrap=false; // запретить перенос строк
Memo1->Lines->Add("1 строка"); // добавляет строку "1 строка " в Memo1
Memo1->Lines->Delete(0); // удаляет 1 строку из Memo1(отсчёт строк начинается с 0, т.е. порядковый номер первой строки будет 0)
Memo1->Lines->Strings[0]="Hello"; // Первая строка заменяется на "Hello"
Memo1-> Lines->LoadFormFile("c:\\1.txt"); // загружает в Memo1 файл 1.txt
Memo1-> Lines->SaveToFile("c:\\1.txt"); // сохраняет текст из Memo1 в файл 1.txt
int i=Memo1->Lines->Count; // переменной типа int(целое) присваивается количество строк в Memo1
Memo1->Clear(); // Удалить весь текст из Memo1;

Теперь попробуем использовать это в программе.Два раза щёлкните по Button.Далее попробуем изменять те или иные св-ва компонент программно, хотя это можно спокойно делать и в Object Inspektor.Напишите следующий код:

Memo1->Clear(); //очистка от текста
Label1->Caption="My fauvorite director is Guy Ritchie"; //надпись на Label
Memo1->Lines->Add("Чуть ниже будет такая же надпись как и у Label1");//добавляем строку
Memo1->Lines->Add(Label1->Caption);
Memo1->Ctl3D=false; //Объёмность убираем



Должно получится примерно так.Попробуйте потренироваться сами с изменениями шрифтов, цвета, размеров и т.д. - если ни хера ни получится - значит ты лох!

Если есть вопросы по этому материалу или вопросы в принципе, пишите на мыло, ответы постараюсь выложить в последующих уроках.


Author of article - MA F*CKA CREW 2005
www.builderhelper.3dn.ru
builder.helper@rambler.ru