Ich habe ein paar Punkte in der Paintbox, die ich verschieben möchte, allerdings tut sich da gar nichts bei mir. Ich habe die Punkte schon vergrößert, so dass man sie auf jedenfall treffen müsste.
Wo ich mir nicht sicher bin, ist das leeren der Paintbox und das neue aufbauen. Das mache ich einfach, indem ich die alten Buttons noch einmal drücken lasse!
Das ganze sieht dann bei mir so aus:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49:
| procedure TForm2.PaintBox1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var tmp ,i: Integer; m : tpoint; begin tmp := getAnzahl_punkte; for i:= 1 to tmp do begin m:= kontrollpixelzu(i); if (m.x= X) and (m.y=Y) then begin setkontrollnr(i); end; end; end;
procedure tform2.paintbox1mouseup(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var i , Abstand_x, Abstand_y: Integer; m : tpoint; n : tmypoint; Laenge_x , Laenge_y: real; begin i:= getkontrollnr; m:= kontrollpixelzu(i); m.x:=X; m.y:=Y; kontrollpixelaus(m,i);
Laenge_x:= (getmax_x+1)-(getmin_x-1); Abstand_x:=(paintbox1.Width-(2*Rand)) div trunc(Laenge_x)+1;
Laenge_y:= (getmax_y+1)-(getmin_y-1); Abstand_y:=(paintbox1.height-(2*Rand)) div trunc(Laenge_y)+1;
n.x := ((X-Rand)/Abstand_x)+(getmin_x-1); n.y := ((paintbox1.Height-Rand-Y)/Abstand_y)+(getmin_y-1); kontrollpunktaus(n,i);
paintbox1.canvas.Brush.color := clBlack; paintbox1.canvas.fillrect(paintbox1.canvas.cliprect);
form1.button4.click; form1.Button6.click; form2.showmodal; end; |
Moderiert von
Gausi: Code- durch Delphi-Tags ersetzt.