Компоненты контейнеры( форма, фреймы, Panel, Bevel, ScrollBox)

Компоненты контейнеры( форма, фреймы, Panel,Bevel,ScrollBox)

Panel

Панель Panel представляет собой контейнер, в котором можно размещать другие элементы управления. Панели применяются в качестве визуальных средств группирования, а также для создания панелей инструментов и строк состояния.

Панель имеет край с двойной фаской: внутренней и внешней. Внутренняя фаска обрамляет панель, а внешняя отображается вокруг внутренней.

Свойство BevelWidth определяет расстояние между внутренней и внешней рамками в пикселях. Свойства BevelInner и BevelOuter задают стили оформления соответственно внутренней и внешней рамок панели. Они могут принимать одно из следующих значений:

bvNone – рамка отсутствует

bvLowered – рамка утоплена

bvRaid – рамка приподнята

bvSpace – плоская рамка

 

Bevel

Компонент Bevel формально не является панелью, он не может служить контейнером для компонентов. Например, с помощью Bevel нельзя сгруппировать радиокнопки. Однако, чисто зрительно компонент Bevel может использоваться как подобие панели.

Стильотображения Bevel определяется свойством Style, которое может принимать значения bsLowered — утопленный, и bsRaised — приподнятый. А контур компонента определяется свойством Shape, которое может принимать значения: bsBox — прямоугольник, bsFrame — рамка, bsSpacer — пунктирная рамка, bsTopLine, bsBottomLine, bsLeftLine, bsRightLine — соответственной верхняя, нижняя, левая и правая линии. В зависимости от значения Style линии могут быть утопленными или выступающими.

ScrollBox

Область прокрутки ScrollBox представляет собой окно, предоставляющее возможность прокрутки информации.

Свойство компонента AutoScroll определяет автоматическое появление полос прокрутки (по умолчанию True). Свойство BorderStyle определяет стиль рамки компонента.

Frame.

Фреймы Frame представляет собой контейнер для других компонентов, который на этапе разработки создается так же, как и форма, но в отличие от нее, может быть размещен в другом контейнере, например, форме или панели.

Работа с фреймом включает два этапа:

Создание и конструирование фрейма

Размещение созданного фрейма в нужном месте формы или на панели

Для создания фрейма следует выполнить команду File/New Frame (Файл/ Новый Фрейм).

Вид фрейма на этапе разработки ни чем не отличается от вида формы. Для размещения фрейма на форме в палитре компонентов следует выбрать компонент Frame и поместить его в нужное место формы. При отпускании компонента появляется диалоговое окно Selectframetoinsert (выберите фрейм для вставки), в котором выбирается имя фрейма.

 

 

]Самостоятельнаяработа

Создайте проект «Решение квадратного уравнения»

 

var

Form1: TForm1;

a,b,c,d,x1,x2,x:real;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

a:=strtofloat(edit1.Text);

b:=strtofloat(edit2.Text);

c:=strtofloat(edit3.Text);

d:=sqr(b)-4*a*c;

if d>0 then

begin

x1:=(-b-sqrt(d))/(2*a);

x2:=(-b+sqrt(d))/(2*a);

label5.Caption:='1корень= '+floattostr(x1)

+' 2корень= '+floattostr(x2);

end

else

if d=0 then

begin

x:=-b/(2*a);

label5.Caption:='1 корень= '+floattostr(x);

end

else

if d<0 then

label5.Caption:='нет кореней';

end;

 

end.

 

Практическая работа

Создадим проект «Калькулятор». Для этого поместите на форму строку ввода Edit, две панели Panel и 18 кнопок BitBtn (переименуйте их в В1-В18). Опишите в списке глобальных переменных: a, b, itog: real;//содержат числа и результат действия над ними

k: char;//содержит знак операции, выбранной пользователем

Опишем процедуру на щелчок по кнопке «0»:

procedure TForm1.b1Click(Sender: TObject);

Begin

edit1.text:=edit1.text+b1.Caption;//Добавляем к набранному в строку цифру, написанную на кнопке

end;

Аналогично опишите процедуры на кнопки «1»-«9»

Опишем процедуру на кнопку «,»:

procedure TForm1.b17Click(Sender: TObject);

Begin

if pos(',',edit1.text)=0 then

edit1.text:=edit1.text+b17.Caption;//если в строке еще не встречалась запятая, то добавить ее

end;

Процедура на «+»:

procedure TForm1.b15Click(Sender: TObject);

Begin

k:='+';

a:=strtofloat(edit1.text);

edit1.Clear;

end;

Аналогично опишите процедуры на кнопки «-», «*», «/»

Опишем процедуру на кнопку «sqrt»:

procedure TForm1.b11Click(Sender: TObject);

Begin

k:='s';

a:=sqrt(strtofloat(edit1.text));

edit1.text:=FloatToStr(a);

end;

Процедура на кнопку «=»

procedure TForm1.b14Click(Sender: TObject);

Begin

b:=StrToFloat(edit1.text);

case k of

'+': itog:=a+b;

'-': itog:=a-b;

'*': itog:=a*b;

's': itog:=a;

'/': if b<>0 then itog:=a/b else

Begin

showmessage('Деление на 0 запрещено!!!');

edit1.clear;

edit1.setfocus;

end;

end;

Edit1.text:=FloatToStrF(itog,ffFixed,13,3);

end;

Процедура на кнопку «С»:

procedure TForm1.В18Click(Sender: TObject);

Begin

edit1.Clear;

a:=0;

b:=0;

itog:=0;

edit1.setfocus;

end;