Announcement

Collapse
No announcement yet.

Linien zeichnen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Linien zeichnen

    Hallo,

    mit folgenden Code erzeuge ich meine gewünschten Linien. Wenn ich aber mehr Linien anlege als auf den
    Bildschirm passen, werden diese angelegeten Linien beim Bildschirm scrollen verschoben. Außerdem möchte ich auf den Linien
    Editfelder anlegen, die dann mit entsprechenden Datenbankfeldern gefüllt werden sollen. Ich möchte also 4, 8, 16 oder 32
    von diesen Kästchen haben je nach Eingabewunsch. Das bekomme ich auch hin, wie gesagt nur beim scrollen kommt alles
    durcheinander.

    procedure TForm1.FormPaint(Sender: TObject);

    var

    iZ, jZ: Integer;

    begin

    if Anzeige then begin

    a := 100;

    b := 40;

    c := 40;

    d := 40;

    e := 100;

    f := 40;

    g := 100;

    h := 70;

    i := 160;

    j := 55;

    k := 100;

    l := 55;

    for iZ := 0 to 30 do begin

    //waagerechte Linie

    Canvas.MoveTo(a, b);

    Canvas.LineTo(c, d);

    //a:=a+100;

    b:=b+30;

    //c:=c+90;

    d:=d+30;

    end;

    for jZ := 0 to 7 do begin

    //senkrechte Linie rechts

    Canvas.MoveTo(e, f);

    Canvas.LineTo(g, h);

    //e:=e+30;

    f:=f+60;

    //g:=+30;

    h:=h+60;

    //waagerechte Linie rechts

    Canvas.MoveTo(i, j);

    Canvas.LineTo(k, l);

    //i:=i+30;

    j:=j+60;

    //k:=k+30;

    l:=l+60;

    end;

    end;

    end;

    procedure TForm1.Button1Click(Sender: TObject);

    begin

    Anzeige := not Anzeige;

    Invalidate;

    end;

    Vielen dank für Hilfe

    ph

  • #2
    Versuche mal alles in ein Image zu zeichnen (Image1.Canvas....).
    Das Image musst du vorher dann auf die gewünschte Größe anpassen (müsstest du ja eigentlich ausrechnen können!).

    Floria

    Comment


    • #3
      Moin Peter,<br>du kannst die Linienkoordinaten auch in einem TListobjekt speichern und im OnPaint-Event neu zeichnen. Hinweis: TImage ist ein Resourcenfresser.<br> :-) Jens Schuman

      Comment

      Working...
      X