Хелпикс

Главная

Контакты

Случайная статья





implementation. Рис. 1.1. Вікно працюючого додатка завдання 1



type

           TForm1 = class(TForm)

                          procedure FormMouseDown(Sender: TObject; Button:TMouseButton;

Shift: TShiftState; x,y:integer);

                          private

                                          { Private declarations }

                          public

                                          { Public declarations }

           end;

var

Form1: TForm1;

implementation

 

{$R *.dfm}

 

procedure StarLine(x0,y0,r: integer; Canvas: TCanvas);

           // x0,y0 - координати центра зірки

           // r - радіус зірки

var

p: array[1..11] of TPoint;                             // координати променів і западин

           a: integer;                                                                                          // кут між ОХ і радіусом

           i: integer;

begin

           a := 18;                                                                                             // будуємо від правого горизонтального променя

           for i:=1 to 10 do

                          begin

                                          if (i mod 2 = 0)

                                                          then

                                                                         begin                                                 // западина зірки

                                                                                         p[i].x := x0+Round(r/2*cos(a*2*pi/360));

                                                                                         p[i].y:=y0-Round(r/2*sin(a*2*pi/360));               

                                                                         end

                                                          else

                                                                         begin                  // промінь зірки

                                                                                         p[i].x:=x0+Round(r*cos(a*2*pi/360));

                                                                                         p[i].y:=y0-Round(r*sin(a*2*pi/360));

                                                                         end;

                                          a := a+36;

                          end;

           p[11].X := p[1].X;                             // щоб замкнути контур зірки

           p[11].Y := p[1].Y;

           Canvas.Polyline(p);                           // накреслити зірку

end;

// натискання кнопки миші

procedure TForm1.FormMouseDown(Sender: TObject;

Button:TMouseButton; Shift: TShiftState; x,y:integer);

begin

           with Form1 do

                          begin

                                          if Button = mbLeft            // натиснута ліва кнопка?

                                                          then

                                                                         begin

                                                                                         Canvas.Pen.Color := clBlack;

                                                                                         StarLine(x, y, 30,Canvas);

                                                                                         Canvas.Brush.Style:=bsDiagCross;

                                                                                         Canvas.Brush.Color:=clRed;

                                                                                         Canvas.FloodFill(x,y,Canvas.Pen.Color, fsBorder);

                                                                         end

                                                          else

                                                                         begin

                                                                                         Canvas.Pen.Color := clRed;

                                                                                         StarLine(x, y, 30,Canvas);

                                                                                         Canvas.Brush.Style:=bsCross;

                                                                                         Canvas.Brush.Color:=clBlue;

                                                                                         Canvas.FloodFill(x,y,Canvas.Pen.Color, fsBorder);

                                                                         end;

                          end;

end;

 

end.

 

           На Рис.  представлено вид вікна додатка завдання 1 при виконанні.

Рис. 1.1. Вікно працюючого додатка завдання 1

Завдання 2

Створити проект в якому у формі, кольори можуть змінюватися, відображається компонент Shape1 (фігура), для якого можна міняти тип, кольори й розміри. Форми фігур: stCircle, stEllipse, stsquare.

Виконання

1. Запустити Delphi.

2. Створити в ній новий додаток.

3. Привласнити властивості Caption компонента Form1 значення Prg_1_3.

4. Зберегти модуль під ім'ям Prg_1_3_3, а проект під ім'ям Prg_1_3.

5. Установити на формі компонента:

§ кнопки Button1 і Button2, комбінований список ComboBox1, лінійки прокручування ScrollBar1 і ScrollBar2, панель Panel1 (зі сторінки Standard).

§ фігура Shape1 (зі сторінки Additional).

§ діалог кольорів ColorDialog1 (зі сторінки Dialogs).

6. Задати властивості Shape компонента Shape1 значення stEllipse (Еліпс). Використовуючи властивість Brush, установити довільні кольори об'єкта Shape1.

7. Установити значення властивостей компонентів лінійок прокручування ScrollBar1 і ScrollBar2:

Name ScrollBar1 ScrollBar2
Kind ( Тип) sbHorizobntal (Горизонтальна) sbVertical (Вертикальна)
Align (Розміщення) alBottom (Знизу) alRight (Праворуч)

8. Компоненти Button1, Button2, ComboBox1 установити на передній план об'єкта Panel1 і вирівняти їх по вертикалі.

9. Установити значення властивостей компонентів Button1, Button2:

Компонент Button1 Button2
Name (Ім'я) FormColor ShapeColor
Caption (Напис) Кольори форми Кольори фігури

10. Установити наступні значення рядків списку ComboBox1:

Ім'я фігури Тип фігури
stRectangle Прямокутник
stSguare Квадрат
stRoundRect Прямокутник з округленими кутами
stRoundSguare Квадрат з округленими кутами
stEllipse Еліпс
stCircle Коло

Увага: імена фігур треба заносити в зазначеному порядку, тому що вони далі аналізуються по номері в списку.

11. Задати властивості BorderWidth компонента Panel1 значення 5. Після перерахованих вище установок інтерфейс проекту прийме вид, показаний на Рис. 1..



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.