AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Polygon / Polylinie grafisch eingeben
Thema durchsuchen
Ansicht
Themen-Optionen

Polygon / Polylinie grafisch eingeben

Ein Thema von Bjoerk · begonnen am 21. Jun 2016 · letzter Beitrag vom 23. Jun 2016
Antwort Antwort
Seite 2 von 2     12   
bcvs

Registriert seit: 16. Jun 2011
703 Beiträge
 
Delphi 12 Athens
 
#11

AW: Polygon / Polylinie grafisch eingeben

  Alt 22. Jun 2016, 08:24
In den 90ern habe ich auch mal Statikprogramme entwickelt. Damals habe ich die grafische Eingabe des ebenen Stabwerks so gelöst:

Während du die Maus bewegst, werden in zwei Editfeldern ständig die aktuellen X- und Y-Koordinaten angezeigt. Dabei kann man umschalten, ob diese Koordinaten absolut oder relativ zum letzten Punkt gelten. Damit weiß man während der Mausbewegung schon mal, wo man ist.
Das Editfeld für X hat dabei den Tastaturfocus. Um einen Punkt zu setzen kannst du jetzt entweder mit der Maus klicken oder die Koordinaten eintippen. X hat ja schon den Focus, dann gehst du mit Return oder Tab zu Y und beendest mit Return. Damit ist der Punkt gesetzt und die Linie zum nächsten Punkt hängt an der Maus.

Die Mausbewegung folgt einem Raster. Vorhandene Knoten/Endpunkte werden gefangen.

Habe es gerade nochmal rausgekramt. So sah das aus:
Miniaturansicht angehängter Grafiken
stabwerk.png  
  Mit Zitat antworten Zitat
P_G

Registriert seit: 11. Mär 2008
14 Beiträge
 
Delphi XE5 Professional
 
#12

AW: Polygon / Polylinie grafisch eingeben

  Alt 22. Jun 2016, 09:26
Habe mal etwas ähnliches gemacht (Vektorgrafikprogramm). Meine Lösung war damals folgende: Intern habe ich eine ObjectList definiert, die ihrerseits Records aufnehmen konnte. Das Record speicherte Koordinatenpunkte (x,y,z) und jeweils eine Angabe zur Zeichenform (Polyline oder Polygon). Mit jedem Links-Klick auf einer Paintbox wurde ein weiterer Punkt aufgenommen, ein Rechts-Klick beendete die Punktaufnahme. Im OnPaint-Ereignis der Paintbox wurden die Figuren dann der Reihe nach abgearbeitet und gezeichnet, solange jeweils mehr als ein Koordinatenpunkt für Polylines oder drei Punkte für Polygone eingegeben worden waren. Die in den Records enthaltenen Koordinatenwerte konnten auch in einer Tabelle wiedergegeben und von dort aus auch verändert werden (OnChange). Allerdings konnte ich die Koordinatenpunkte auch per Maus greifen. Meines Wissens haben sämtliche User es auf diese Weise gemacht - keiner hat mit den Tabellen arbeiten wollen. Als zusätzliches Feature ließ sich auf der Paintbox ein Hintergrundbild einblenden, so dass man praktisch "durchpausen" konnte. Für geometrische Figuren gab es eine Snap-to-grid-Funktion.
Miniaturansicht angehängter Grafiken
vox.jpg  
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#13

AW: Polygon / Polylinie grafisch eingeben

  Alt 23. Jun 2016, 07:59
Ok. Vielen Dank für die Ideen. Ich hab mich jetzt dafür entschieden, separate Punkte einzugeben, die man anschließend in einem OI ändern kann. Dadurch wird der Zeichenprozess nicht so "Spaghetti".
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz