1
Instrukcja 1b
Cel ćwiczenia: Napisanie aplikacji umożliwiającej wyświetlanie podstawowych
obiektów graficznych przy użyciu metod klasy TCanvas.
Rys.1 Widok formularza z umieszczonymi komponentami
1. Uruchomić Delphi.
2. Na formatce umieścić komponent Image z palety komponentów Additional. Zmienić
własność name na Plotno.
3. Dla komponentu Plotno ustawić następujące własności (w Object Inspector):
• Width : 400
• Height : 400
2
4. 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
5. Umieścić na formatce komponent Button i ustawić własność Caption na: Wybierz
kolor. Własność name pozostawić domyślną – Button1.
6. Wygenerować zdarzenie OnClick dla komponentu Button1 w zakładce
Events – Object Inspector.
Rys. 2 Widok inspektora obiektów z zakładką Events
7. 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
3 : begin
kTla:=colorDialog1.Color;
end;
end;
end;
Rysuj;
end;
8. W części private klasy TForm1 umieścić deklaracje zmiennych i nagłówek funkcji:
kLinii,kTekstu,kWyp,kTla : TColor;
procedure Rysuj;
9. 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);
4
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;
10. Z palety Dialogs wybrać i umieścić na formatce komponent ColorDialog.
11. Wygenerować zdarzenie OnClick dla komponentu RGWyborMetody i zmodyfikować
je według wskazówki:
procedure TForm1.RGWyborMetodyClick(Sender: TObject);
begin
Rysuj;
end;
12. 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;
13. Skompilować i uruchomić program.
5
Rys.3 Uruchomiony program