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

Interface

uses

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

type

TForm1 = class(TForm)

FormColor: TButton;

ShapeColor: TButton;

ScrollBar1: TScrollBar;

ComboBox1: TComboBox;

Shape1: TShape;

ColorDialog1: TColorDialog;

ScrollBar2: TScrollBar;

Panel1: TPanel;

procedure FormColorClick(Sender: TObject);

procedure ShapeColorClick(Sender: TObject);

procedure ScrollBar1Change(Sender: TObject);

procedure ScrollBar2Change(Sender: TObject);

procedure ComboBox1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

Implementation

{$R *.DFM}

procedure TForm1.FormColorClick(Sender: TObject);

begin

if ColorDialog1.Execute then Form1.Color:= ColorDialog1.Color;

end;

procedure TForm1.ShapeColorClick(Sender: TObject);

begin

if ColorDialog1.Execute then Shape1.Brush.Color:= ColorDialog1.Color;

end;

procedure TForm1.ScrollBar1Change(Sender: TObject);

begin

Shape1.Width:= ScrollBar1.Position*3;

end;

procedure TForm1.ScrollBar2Change(Sender: TObject);

begin

Shape1.Height:= ScrollBar2.Position*3;

end;

procedure TForm1.ComboBox1Click(Sender: TObject);

var

Index: integer;

begin

if ComboBox1.Text='stRectangle' then Index:=0;

if ComboBox1.Text='stSquare' then Index:=1;

if ComboBox1.Text='stRoundRect' then Index:=2;

if ComboBox1.Text='stRoundSquare' then Index:=3;

if ComboBox1.Text='stEllipse' then Index:=4;

if ComboBox1.Text='stCircle' then Index:=5;

Shape1.Shape:=TShapeType(Index);

end;

end.

Завдання 3

Створити проект роботи з метафайлом. Метафайл містить графік із двома фігурами (еліпс і квадрат), створюється програмно, відображається на формі й зберігається на диску ПК. Для перевірки правильності метафайла він зчитується в компонент Image форми. Проект - додаток.

На Рис. 1. показано форму проекту завдання 3. Вона містить компонент Image1 для перегляду метафайла й дві кнопки:

  • Button1 - «Створити метафайл». При натисканні кнопки метафайл MyMetafile.wmf створюється, прорисовується на формі й зберігається на диску.

  • Button2 - «Дивитися метафайл». Натискання цієї кнопки приводить до відображення метафайла в компоненті Image1 форми.

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

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

unit Prg_1_3_;

Interface

uses

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

type

TForm1 = class(TForm)

Sozdath: TButton;

Image1: TImage;

Smotreth: TButton;

procedure SozdathClick(Sender: TObject);

procedure SmotrethClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

MyMetafile:TMetafile;

Implementation

{$R *.dfm}

procedure TForm1. SozdathClick(Sender: TObject);

begin

with TMetafileCanvas.Create(MyMetafile, 0) do

try

Brush.Color := clRed;

Ellipse(0,0,150,100); // Малюємо еліпс

Brush.Color:=clWhite;

Rectangle(150,150,200,200); // Малюємо квадрат

finally

Free

end;

MyMetafile.SaveToFile('MyMetafile.wmf'); // Зберегти метафайл

Form1.Canvas.Draw(0,0,MyMetafile); // Малювати метафайл на формі

end;

procedure TForm1. SmotrethClick(Sender: TObject);

begin

Image1.Picture.LoadFromFile('MyMetafile.wmf'); // Перегляд

end;

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