Порядок выполнения работы. Разработать приложение, которое управляет типом и цветом сообщения, выводимого в окно
Лабораторная работа№17.
Задение1.
Разработать приложение, которое управляет типом и цветом сообщения, выводимого в окно. Добавить в строку состояния этого приложения панели, которые показывают, нажаты или не нажаты клавиши CapsLock, NumLock, ScrollLock, а также панель, отображающую текущее время.
Порядок выполнения работы.
1) Создадим новое приложение в Delphi.
2) Создадим новую форму.
3) Разместим в форме визуальный компонент TLabel и в его свойство запишем строку символов.
4) Разместим на форме панели инструментов компонент TToolBar.
5) В панели инструментов создаём новые четыре кнопки (не забыть вставить Separator).
6) Определить стили кнопок.
7) Разместить на форме компонент TImageList. Для этого компонента добавить новые четыре графических изображения.
8) Связать TImageList с объектом TToolBar.
9) Для каждой кнопки указать индекс изображения в списке.
10) Разместить на форме компонент TPopulMenu и указать в нём четыре пункта: Green, Red, Blue, Black.
11) Связать кнопку «цвет» с объектом TPopulMenu (DropDownMenu=имя TPopulMenu)
12) Написать обработчики событий для каждой кнопки:
«Выход»:
procedure TForm1.ToolButton5Click(Sender: TObject); (имя кнопки)
begin
close;
end;
«Ж»:
procedure TForm1.ToolButton1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if ToolButton1.Down (имя кнопки)
then Label1.Font.Style:=Label1.Font.Style+[fsBold]
else Label1.Font.Style:=Label1.Font.Style-[fsBold];
end;
«К»:
procedure TForm1.ToolButton2MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if ToolButton2.Down (имя кнопки)
then Label1.Font.Style:=Label1.Font.Style+[fsItalic]
else Label1.Font.Style:=Label1.Font.Style-[fsItalic];
end;
«цвет»:
procedure TForm1.ToolButton3MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); (имя кнопки)
begin
case Label1.Font.Color of
clGreen:Label1.Font.Color:=clGreen;
clRed:Label1.Font.Color:=clRed;
clBlue:Label1.Font.Color:=clBlue;
clBlack:Label1.Font.Color:=clBlack;
end;
end;
«обработчик меню»:
procedure TForm1.Green1Click(Sender: TObject);
begin
Label1.Font.Color:=clGreen;
end;
procedure TForm1.Red1Click(Sender: TObject);
begin
label1.Font.Color:=clRed;
end;
procedure TForm1.Blue1Click(Sender: TObject);
begin
label1.Font.Color:=clBlue;
end;
procedure TForm1.Black1Click(Sender: TObject);
begin
label1.Font.Color:=clBlack;
end;
13) Добавим на форму компонент TStatusBar (закладка Win32).
14) С помощью правой кнопки мыши вызовем панель Editor.
15) В редакторе панелей четыре раза используем кнопку add и для каждой панели задаём имя (CapsLock, NumLock, ScrollLock, Time).
16) Для первых трёх элементов устанавливаем следующие свойства:
Alignment taCenter
Bevel pbLowered
Style psText
Width 85
Для Time:
Alignment taRightJustify
Bevel pbLowered
Style psText
Width 85
17) Для главной формы определить обработчик события:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=vk_Capital then
if StatusBar1.Panels[0].Bevel=pbRaised
then StatusBar1.Panels[0].Bevel:=pbLowered
else StatusBar1.Panels[0].Bevel:=pbRaised;
if Key=vk_NumLock then
if StatusBar1.Panels[1].Bevel=pbRaised
then StatusBar1.Panels[1].Bevel:=pbLowered
else StatusBar1.Panels[1].Bevel:=pbRaised;
if Key=vk_Scroll then
if StatusBar1.Panels[2].Bevel=pbRaised
then StatusBar1.Panels[2].Bevel:=pbLowered
else StatusBar1.Panels[2].Bevel:=pbRaised;
end;
18) Для отображении времени в стоке состояния выбрать в закладке System компонент Timer и переместить его на форму.
19) Двойным щелчком на компоненте Timer вызвать следующую процедуру:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
StatusBar1.Panels[3].Text:=TimeToStr(Now)+' ';
end;
20) Сохраните ваш проект и запустите его на исполнение. Ознакомьтесь с работой программы