:: Redakcyjne :: Klasyka & Emulacja :: Komputery & Internet :: Inne :: W sieci :: MS on-line ::



Komputery & Internet



      Kurs Delphi #3


   W trzeciej części tego kursu opiszę rysowanie po formie przy użyciu canvas.

Zadeklaruj zmienną klik typu boolean, w tym celu na górze pliku źródłowego w sekcji var nad Implementation dodaj taki kod :

klik:boolean;

Kliknij na formę i w zakładce events ( w Object Inspector) kliknij dwa razy na zdarzeniu OnMouseDown i wpisz kod ,który ma za zadanie wtedy kiedy wciśnięty jest przycisk myszy, podstawienie pod zmienną klik wartości true :

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
klik:=true;
end;

Do zdarzenia OnMouseUp wstaw kod ,który podstawi pod zmienną klik wartość false wtedy kiedy zostanie zwolniony przycisk myszy :

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
klik:=false;
end;

Do zdarzenia OnMouseMove wpisz kod ,który będzie rysował czarne piksle wtedy kiedy będzie naciśnięty klawisz myszki :

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if klik=true then //sprawdzanie czy zmienna klik jest równa true
begin
Form1.Canvas.Pixels[x,y]:=clblack; //rysuje piksel w pozycji kursora x–pozycja x, y pozycja y;
end;
end;

Możesz również zamiast kodu Form1.Canvas.Pixels[x,y]:=clblack; wstawić jakiś inny kod np.

Form1.Canvas.Rectangle(x,y,x+100,y+100);

lub

Form1.Canvas.Ellipse(x,y,x+100,y+100);

lub

Form1.Canvas.TextOut(x,y,'Kurs');

Jeżeli chciałbyś to możesz zmieniać kolory pędzla i pióra np.

kolor pędzia :

Form1.Canvas.Brush.Color:=clyellow;



kolor pióra :

Form1.Canvas.Pen.Color:=clyellow;



Dariusz Łazowski



_________________________ 53 _________________________

:: Poprzednia strona :: Wstęp :: Następna strona ::



     

Prenumerata

Adres e-mail:





Kontakt

redaktor naczelny
macland@topnet.pl

z-ca red. nacz.
bosss@box43.gnet.pl


Zalecana konfiguracja

- Windows
- IE 4.0 +
- 800 x 600
- High Color (16 bit)

















































































Copyright(C)'2001 Memories Service
Wszystkie prawa zastrzeżone!