Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LB_DL_3.doc
Скачиваний:
2
Добавлен:
25.11.2019
Размер:
195.58 Кб
Скачать

Interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

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).

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

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

    Name

    ScrollBar1

    ScrollBar2

    Kind ( Тип)

    sbHorizobntal (Горизонтальна)

    sbVertical (Вертикальна)

    Align (Розміщення)

    alBottom (Знизу)

    alRight (Праворуч)

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

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

    Компонент

    Button1

    Button2

    Name (Ім'я)

    FormColor

    ShapeColor

    Caption (Напис)

    Кольори форми

    Кольори фігури

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

Ім'я фігури

Тип фігури

stRectangle

Прямокутник

stSguare

Квадрат

stRoundRect

Прямокутник з округленими кутами

stRoundSguare

Квадрат з округленими кутами

stEllipse

Еліпс

stCircle

Коло

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

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

Рис. 1.2. Форма проекту завдання 2

  1. Для зміни кольорів фігури або форми під час виконання додатка використати стандартне діалогове вікно вибору кольори ColorDialog1. Цей компонент при виконанні програми не бачимо.

  2. Подвійним кліком по кнопці Кольори форми створити заготовку оброблювача відгуку на подію OnClick (на клік) для кнопки Кольори форми. Написати код оброблювача, що при натисканні кнопки Кольори форми викликає стандартне діалогове вікно вибору кольори за допомогою діалогового вікна ColorDialog1.

  3. Подвійним кліком по кнопці Кольори фігури створити заготовку оброблювача події OnClick (на клік) для кнопки Кольори фігури. Написати код оброблювача, що при натисканні кнопки встановить значення властивості Brush.Color (кольори зафарбування) фігури Shape1, обране за допомогою діалогового вікна ColorDialog1.

  4. Запустити проект командою Виконати й перевірити дія кнопок Кольори форми й Кольори фігури. При натисканні кнопок вибору кольори в окремому вікні (див. Рис. 1.) відображається вікно діалогу вибору кольори, у якому варто вибирати бажані кольори.

Рис. 1.3. Вікно діалогу вибору кольори

Повернутися в режим конструювання.

  1. Запрограмувати зміна розміру фігури за допомогою смуг прокручування. Для цього:

  • Подвійним кліком по компонентах створити заготовку на подію OnChange (на зміну) для кожної зі смуг прокручування ScrollBar1 і ScrollBar2.

  • Написати для цих методів коди, які встановлять властивість Width (ширина) або Height (висота) фігури Shape1 відповідно до положення "бігунка" на горизонтальній (ScrollBar1) або вертикальної (ScrollBar2) смугах прокручування.

  • Підібрати співвідношення між положенням бігунків смуги прокручування ScrollBar1.Position і ScrollBar2.Position (лежать у межах 1...100) і розмірами фігури, при якому досягається краще подання зміни розмірів фігури.

  1. Запустити проект і перевірити дія кожної зі смуг прокручування. Повернутися в режим конструювання.

  2. Для вибору нового виду фігури використати список, що випадає (ComboBox). Щоб створити список у режимі проектування, необхідно ввести потрібні елементи в список Items, клацнувши маленьку кнопку із трьома крапками в правій частині рядка Інспектори об'єктів, що відображає дана властивість. Список показаний на Рис. 1..

Рис. 1.4. Список опцій властивості Shape

  1. У діалогове вікно текстового редактора (див. Рис. 1.) увести фігури за завданням.

  2. Подвійним щигликом по компоненті ComboBox1 створити заготовку оброблювача події OnClick (на клік) для списку ComboBox1. У неї вставити код, що дозволяє вибрати зі списку потрібний елемент.

  3. Для перевірки коду запустити проект, а потім по черзі вибрати зі списку різні види фігур.

  4. Зберегти й закрити проект. Запустити виконувальний файл, проекту Prg_1_3 із середовища Windows і перевірити його працездатність.

Листинг модуля форми

unit Prg_1_3_3;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]