Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Durchgehend zeichnen mit canvas (https://www.delphipraxis.net/24642-durchgehend-zeichnen-mit-canvas.html)

Dragon27 23. Jun 2004 20:46

Re: Durchgehend zeichnen mit canvas
 
Oh da war ja wohl mein posting voreilig, sorry!!!

Danke für den code!!!

Mirilin 23. Jun 2004 20:48

Re: Durchgehend zeichnen mit canvas
 
:hi:


Delphi-Quellcode:
{MD steht für MouseDown : Boolean, und OldP wäre TPoint}
procedure TMainForm.PaintBoxMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  if not MD then Exit;
 // Bit.Canvas.MoveTo(OldP.X,OldP.Y);
  Bit.Canvas.LineTo(X,Y);
 // OldP := Point(X,Y);
  PaintBoxPaint(Self);
end;

procedure TMainForm.PaintBoxMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  MD := True;
  //OldP := Point(X,Y);
  Bit.Canvas.MoveTo(X,Y)
end;

procedure TMainForm.PaintBoxMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  MD := False;
end;
Ich habs kurz so gemacht.


@Nicodius, erklär mir bitte kurz das "with Form1" ...

mfg Tobias

supermuckl 23. Jun 2004 20:50

Re: Durchgehend zeichnen mit canvas
 
with form1 do begin
height := 10;
end;

ist das selbe wie

form1.height := 10;

Mirilin 23. Jun 2004 20:52

Re: Durchgehend zeichnen mit canvas
 
:hi:

:wink: ja, das weiss ich :roll:

ich find den Aufruf nur irgendwie überflüssig.


mfg Tobias

Skiron 23. Jun 2004 20:53

Re: Durchgehend zeichnen mit canvas
 
Bringt ja irgend wie nichts!
Ist eigentlich nur ein Nachteil!
Das wirst du sehen, wenn du dann dein Formular umbenennst!

supermuckl 23. Jun 2004 20:54

Re: Durchgehend zeichnen mit canvas
 
Zitat:

Das wirst du sehen, wenn du dann dein Formular umbenennst!
naja aber doch gerade dann hast es ja leichter.. must nur einen namen ändern und nicht in jeder zeile form1.bla ändern

Nicodius 23. Jun 2004 20:59

Re: Durchgehend zeichnen mit canvas
 
das war nur weil ichs kopiert habe bei mir stehen ja noch andere sachen (paintbox :roll: )


aber der code funktioniert zu 100%

Skiron 23. Jun 2004 21:23

Re: Durchgehend zeichnen mit canvas
 
Zitat:

Zitat von supermuckl
Zitat:

Das wirst du sehen, wenn du dann dein Formular umbenennst!
naja aber doch gerade dann hast es ja leichter.. must nur einen namen ändern und nicht in jeder zeile form1.bla ändern

am einfachsten hättest du es, wenn dus total weg lassen würdest, also statt

Delphi-Quellcode:
procedure TForm1.StiftDraw(x, y: Integer);
begin
  with Form1 do begin
    if not FC then begin
      Paintbox1.Canvas.Pen.Color := Farbe;
      PaintBox1.Canvas.MoveTo(MOldPo.X, MOldPo.Y);
      PaintBox1.Canvas.LineTo(Xold, Yold);
    end
    else
      FC := False;
    ...
  end;
end;
einfach

Delphi-Quellcode:
procedure TForm1.StiftDraw(x, y: Integer);
begin
  if not FC then begin
    Paintbox1.Canvas.Pen.Color := Farbe;
    PaintBox1.Canvas.MoveTo(MOldPo.X, MOldPo.Y);
    PaintBox1.Canvas.LineTo(Xold, Yold);
  end
  else
    FC := False;
  ...
end;
am besten wärs so:
Delphi-Quellcode:
procedure TForm1.StiftDraw(x, y: Integer);
begin
  with Paintbox1.Canvas do begin
    if not FC then begin
      Pen.Color := Farbe;
      MoveTo(MOldPo.X, MOldPo.Y);
      LineTo(Xold, Yold);
    end
    else
      FC := False;
    ...
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:18 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz