Thema: Delphi Linien Komponente

Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: Linien Komponente

  Alt 15. Sep 2006, 17:35
Hi,
was genau verstehst du denn unter einer Linien Komponente?
Also am einfachsten ist es, wenn du die Linie selbst zeichnest. Dazu brauchst du einen Canvas, das ist die Zeichenfläche. So ein Canvas ist etwas, was du nie direkt selbst erzeugst, du verwendest vielmehr immer einen, der dir zur Verfügung gestellt wird. Typsiche Beispiele sind hier alle Fenster von Windows. Die Zeichenroutine bekommt einfach deren Canvas übergeben und die zeichnet dann darauf. Das was die zeichnet ist dann das, was du siehst.
Auch dein Formular hat einen Canvas. Auf den könntest du direkt zeichnen (was aber nicht so wirklich schön ist).

Am einfachsten kannst du selbst zeichnen, wenn du eine Bitmap verwendest. TBitmap kapselt alles was du brauchst, da gibt es dann sogar schon eine Funktion für das was du vor hast:
Delphi-Quellcode:
procedure drawLine(const x1, y1, x2, y2 : Integer);
var bitmap : TBitmap;
begin
  bitmap := TBitmap.Create;
  // wichtig Größe setzen
  bitmap.Width := xxx;
  bitmap.Height := xxx;
  
  // das eigentliche Zeichnen
  bitmap.Canvas.MoveTo(x1, y1);
  bitmap.Canvas.LineTo(x2, y2);
  
  bitmap.Free;
end;
Ok, hier fehlt natürlich als erstes mal die Größe der Bitmap. Da musst du schauen, welche Größe du brauchst. Dann fehlt auch noch das Anzeigen. Der einfachste Weg ist, dass du ein TImage nimmst. Um hier ein Bitmap anzuzeigen musst du (vor dem Bitmap.Free) der Eigenschaft Image.Picture das Bitmap zuweisen.

Gruß Der Unwissende
  Mit Zitat antworten Zitat