1b Metody klasy TCanvas, Instrukcja 1b Metody klasy TCanvas, Instrukcja 1


Instrukcja 1b

Cel ćwiczenia: Napisanie aplikacji umożliwiającej wyświetlanie podstawowych obiektów graficznych przy użyciu metod klasy TCanvas.

0x01 graphic

Rys.1 Widok formularza z umieszczonymi komponentami

  1. Uruchomić Delphi.

  1. Na formatce umieścić komponent Image z palety komponentów Additional. Zmienić własność name na Plotno.

  1. Dla komponentu Plotno ustawić następujące własności (w Object Inspector):

  1. Umieścić na formularzu 2 komponenty RadioGroup i ustawić własności według tabeli.

Domyslna

nazwa:

Zmienić własność

name na:

Zmienić własność

Caption na:

Własność Items - wpisać następujące pozycje:

RadioGroup1

RGWyborMetody

Metoda

LineTo

Polyline

Rectangle

PoundRect

Ellipse

Arc

Pie

Chord

FllodFill

TextOut

RadioGroup2

RGWyborKoloru

Kolory

Linii

Tekstu

Wypełnienia

Tła

  1. Umieścić na formatce komponent Button i ustawić własność Caption na: Wybierz kolor. Własność name pozostawić domyślną - Button1.

  1. Wygenerować zdarzenie OnClick dla komponentu Button1 w zakładce
    Events - Object Inspector.

0x01 graphic

Rys. 2 Widok inspektora obiektów z zakładką Events

  1. W zdarzeniu OnClick komponentu Button1 umieścić następujący kod:

procedure TForm1.Button1Click(Sender: TObject);

begin

if ColorDialog1.Execute then begin

case RGWyborKoloru.ItemIndex of

0 : begin

kLinii:=colorDialog1.Color;

end;

1 : begin

kTekstu:=colorDialog1.Color;

end;

2 : begin

kWyp:=colorDialog1.Color;

end;

3 : begin

kTla:=colorDialog1.Color;

end;

end;

end;

Rysuj;

end;

  1. W części private klasy TForm1 umieścić deklaracje zmiennych i nagłówek funkcji:

kLinii,kTekstu,kWyp,kTla : TColor;

procedure Rysuj;

  1. W części implementation umieścić definicję funkcji:

procedure TForm1.Rysuj;

begin

Plotno.Canvas.Brush.Style:=bsSolid;

Plotno.Canvas.Brush.Color:=kTla;

Plotno.Canvas.FillRect(Rect(0,0,Plotno.Width,Plotno.Height));

Plotno.Canvas.Pen.Color:=kLinii;

case RGWyborMetody.ItemIndex of

0 : begin

Plotno.Canvas.MoveTo(50 ,50 );

Plotno.Canvas.LineTo(250,250);

end;

1 : begin

Plotno.Canvas.Polyline([Point(50,50),Point(250,50),

Point(250,250),Point(50,250),

Point(50,50)]);

end;

2 : begin

Plotno.Canvas.Rectangle(50,50,250,250);

end;

3 : begin

Plotno.Canvas.RoundRect(50,50,250,250,50,50);

end;

4 : begin

Plotno.Canvas.Ellipse(50,50,250,250);

end;

5 : begin

Plotno.Canvas.Arc(50,50,250,250,150,50,50,150);

end;

6 : begin

Plotno.Canvas.Pie(50,50,250,250,150,50,50,150);

end;

7 : begin

Plotno.Canvas.Chord(50,50,250,250,150,50,50,150);

end;

8 : begin

Plotno.Canvas.Brush.Color:=kWyp;

Plotno.Canvas.Ellipse(50,50,250,250);

Plotno.Canvas.FloodFill(150,150,clWhite,fsSurface);

end;

9 : begin

Plotno.Canvas.Font.Color:=kTekstu;

Plotno.Canvas.TextOut(120,120,'Przykładowy tekst');

end;

end;

end;

  1. Z palety Dialogs wybrać i umieścić na formatce komponent ColorDialog.

  1. Wygenerować zdarzenie OnClick dla komponentu RGWyborMetody i zmodyfikować je według wskazówki:

procedure TForm1.RGWyborMetodyClick(Sender: TObject);

begin

Rysuj;

end;

  1. Wygenerować zdarzenie OnCreate dla komponentu Form1 i zmodyfikować
    je według wskazówki:

procedure TForm1.FormCreate(Sender: TObject);

begin

kLinii := clBlack;

kTekstu := clBlack;

kWyp := clRed;

kTla := clWhite;

end;

  1. Skompilować i uruchomić program.

0x01 graphic

Rys.3 Uruchomiony program

2



Wyszukiwarka