Лабораторная работа _3
.docЛабораторная работа №3
Страница VCL «Additional» («Дополнительная»)
-
Добавьте в существующий проект My_demo.dpr новую форму (командой Файл|Создать|Форма). Сохраните новую форму как Addition.pas. Установите свойство Name как AdditionalTab. Измените заголовок формы (свойство Caption) на «Страница «Дополнительная». Установите ее свойство Position равным poScreenCenter.
В форме AdditionTab в список Uses добавьте модуль Standart.
-
В форме 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;
Протестируйте Ваше приложение!!!