Einzelnen Beitrag anzeigen

Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: Polygonpunkte als graphische contol elemente

  Alt 9. Mär 2008, 21:39
Das geht z.B. mit einer Paintbox

Dazu brauchst du:

Array [5] of TPoint
Pointer auf TPoint ActivePoint
Paintbox

Im PaintBoxPaint machst du dann sowas:
Delphi-Quellcode:
for int i := 0 to 4 do
  paintbox.canvas.ellipse(array[i])
Und im OnMousedown sowas wie:
Delphi-Quellcode:
for int i := 0 to 4 do
begin
  int d = sqrt( sqr(maus.X - point[i].X) + sqr(aus.y - point[i].y))
  if d < 4 then // oder was fürn Radius anklickbar sein soll
  begin
    activepoint = point[i];
    break;
  end;
end;
Im OnMouseMove dann den ActivePoint (falls <> nil) bewegen (und paintbox updaten), und im OnMouseUp dann activePoint := nil;

Das sollte zumindest für einen Anfang reichen, ein paar einheiten kann man da aber bestimmt noch verbessern

Obiger Code ist mehr oder weniger Pseudocode, also nicht syntaktisch korrekt oder gar getestet
  Mit Zitat antworten Zitat