Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа _3

.doc
Скачиваний:
25
Добавлен:
11.04.2015
Размер:
35.33 Кб
Скачать

Лабораторная работа №3

Страница VCL «Additional» («Дополнительная»)

  1. Добавьте в существующий проект My_demo.dpr новую форму (командой Файл|Создать|Форма). Сохраните новую форму как Addition.pas. Установите свойство Name как AdditionalTab. Измените заголовок формы (свойство Caption) на «Страница «Дополнительная». Установите ее свойство Position равным poScreenCenter.

В форме AdditionTab в список Uses добавьте модуль Standart.

  1. В форме StandartTab в список Uses добавьте модуль Addition. Для кнопки Button4 установите свойство Enable равным True. Для ее события OnClick введите код

procedure TStandartTab.Button4Click(Sender: TObject);

begin

StandartTab.Hide; // Спрятать форму

AdditionalTab.Show;// Показать форму

end;

Метод Hide устанавливает свойство компонентов Visible равным False. Метод Show устанавливает свойство формы Visible равным True и помещает форму на передний план.

В справке dlx1clx.hlp найдите методы BringToFront и ShowModal. Какое их назначение?

3. Разместите на форме компонент Bevel, а на нем – три кнопки BitBtn.

Эти компоненты позволяют разместить как текст надписи, так и изображение (битовую матрицу). Можно с помощью редактора изображений (команда Сервис|Image Editor) самостоятельно создать файл *.bmp либо выбрать из готовой коллекции. Для этого вызовите свойство Glyph, откройте папку C:\Program Files\Common Files\Borland Shared\Images\Buttons и выберите подходящее по Вашему мнению изображение.

Для BitBtn3 можно выбрать стандартное изображение. Для этого установите свойство кнопки Kind=bkClose. Следите за именем кнопки! Просмотрите другие стандартные типы кнопок.

4. Для BitBtn1 в событие OnClick введите код:

procedure TAdditionalTab.BitBtn1Click(Sender: TObject);

begin

StandartTab.Show;

AdditionalTab.Hide;

end;

5. Для BitBtn2 событие Enable=False

6. Для BitBtn3 в событие OnClick введите код:

procedure TAdditionalTab.BitBtn3Click(Sender: TObject);

begin

StandartTab.Close;

end;

7. Для правильной работы приложения в событие Close для формы добавьте код:

procedure TAdditionalTab.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

Application.Terminate; // Закроется не только форма, но и очистится память

end;

8. Добавить два компонента SpeedButton. Такие кнопки могут иметь рисунок, выглядеть нажатыми и работать в режиме «Нажата одна из группы». Для этого установите их свойство GroupIndex=1. Установите свойство Glyph для SpeedButton1 из файла Skylin16.bmp, а для SpeedButton2 из файла globe.bmp. Для SpeedButton1 установите NumGlyphs=1, а для SpeedButton2 - NumGlyphs=2. Свойством Margin “подгоните” рисунок по центру кнопки.

Что означает свойство Flat? Для SpeedButton1 введите подсказку, которая возникает при прохождении курсора мыши над компонентом: установите свойство ShowHint=True, в свойство Hint введите любой текст.

9. Слева от SpeedButton1 добавьте компонент Shape и установите свойствa Shape=stEllipse; Pen.Color:=clGreen; Brush.Color:=clLime.

10. Справа от SpeedButton2 добавьте компонент Image. Дважды щелкните на свойстве Picture и загрузите файл пиктограммы Earth16.ico. Подгоните размеры всех кнопок! Введите коды:

procedure TAdditionalTab.SpeedButton1Click(Sender: TObject);

begin

if SpeedButton1.Down=True then

begin

Image1.Visible:=False;

Shape1.Brush.Color:=clRed;

end;

end;

procedure TAdditionalTab.SpeedButton2Click(Sender: TObject);

begin

if SpeedButton2.Down=True then

begin

Image1.Visible:=True;

Shape1.Brush.Color:=clLime;

end;

end;

11. Добавьте компонент Label, переименуйте его в «Введите номер телефона» и компонент MaskEdit. Дважды щелкните на его свойстве EditMask и выберите тип Phone, сформатируйте его под принятый в Новосибирске формат.

12. Добавьте компонент StringGrid. Установите количество столбцов и строк сетки: RowCount=5, ColCount=5. Установите FixedCols и FixedRows равными 0. Подберите размер сетки как на рис. Добавьте компонент Button с именем «Заполнить сетку» и введите для нее код:

procedure TAdditionalTab.Button1Click(Sender: TObject);

var x,y:integer;

begin

with StringGrid1 do

for x:=0 to ColCount-1 do

for y:=0 to RowCount-1 do

Cells[x,y]:='Cord.'+IntToStr(x)+'-'+IntToStr(y);

end;

13. Добавьте из страницы Dialogs невизуальный компонент OpenDialog, метку с именем «Имя файла», компонент Edit и кнопку с именем Обзор… и кодом

procedure TAdditionalTab.Button2Click(Sender: TObject);

begin

OpenDialog1.FileName:='*.*';

if OpenDialog1.Execute then

Edit1.Text:=OpenDialog1.FileName;

end;

Протестируйте Ваше приложение!!!