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
Uruchomić Delphi.
Na formatce umieścić komponent Image z palety komponentów Additional. Zmienić własność name na Plotno.
Dla komponentu Plotno ustawić następujące własności (w Object Inspector):
Width : 400
Height : 400
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
|
Umieścić na formatce komponent Button i ustawić własność Caption na: Wybierz kolor. Własność name pozostawić domyślną - Button1.
Wygenerować zdarzenie OnClick dla komponentu Button1 w zakładce
Events - Object Inspector.
Rys. 2 Widok inspektora obiektów z zakładką Events
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;
W części private klasy TForm1 umieścić deklaracje zmiennych i nagłówek funkcji:
kLinii,kTekstu,kWyp,kTla : TColor;
procedure Rysuj;
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;
Z palety Dialogs wybrać i umieścić na formatce komponent ColorDialog.
Wygenerować zdarzenie OnClick dla komponentu RGWyborMetody i zmodyfikować je według wskazówki:
procedure TForm1.RGWyborMetodyClick(Sender: TObject);
begin
Rysuj;
end;
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;
Skompilować i uruchomić program.
Rys.3 Uruchomiony program
2