Zeichnen in einem Paintbox
-
Hallo,

ich schreibe ein Programm, das die Berechnung von Stabwerk in Statisch bestimmte fachwerke machen soll.
Solch einem Programm(http://www.tm-interaktiv.de/FW2D/Swing/). Wie kann ich Pfeile(kräfte) zeichnen? Wie schaffe ich es genauso wie auf der rechten Seite dieses Programm pfeile(kräfte), linien(Stäbe) bereitzustellen, so dass man sie per Mausklick auf die Zeichenfläche einfügen kann.
bitte und hoffe sehr auf schnelle Antworten.
Danke im Voraus.
-
87fanyastar schrieb:
Wie kann ich Pfeile(kräfte) zeichnen?
mit den entsprechenden Zeichenoperatoren, die dir ein Canvas bzw. eine PaintBox bereit stellen? MoveTo, LineTo, usw..? Ein Pfeil besteht sozusagen aus 3 Linien, 1 für die Vektor-Länge und 2 für die Pfeilspitze.
Wie schaffe ich es genauso wie auf der rechten Seite dieses Programm pfeile(kräfte), linien(Stäbe) bereitzustellen, so dass man sie per Mausklick auf die Zeichenfläche einfügen kann.
du fängst mouse-clicks ab, und arbeitest erneut mit MoveTo und LineTo.
mehr erfährst über die fähigkeiten eines Canvas erfährst du in er BCB-Hilfe.
-
Hallo Xantus,
ich danke dir für deine sehr schnelle Antwort
.
Also es gibt keine Andere Lösung?! du meinst: Ich muss alles erstmal selber zeichnen. Sie anzeigen lassen, und dann mit der Methode onMouseKlick hin und her schieben ?OnMouseClik ist, soweit ich weiß, ein Event/Ereignis von elementen der Toolpalette.
Wie kann es auf einem von mir gezeichneten Bild benutzen.
Soll ich vielleicht jedes Element in einem PaintBox zeichnen und dann darauf Das Ereignis OnMouseClick auf jedem PaintBox benutzen ?danke im Voraus
-
87fanyastar schrieb:
Hallo Xantus,
ich danke dir für deine sehr schnelle Antwort
.
Also es gibt keine Andere Lösung?! du meinst: Ich muss alles erstmal selber zeichnen. Sie anzeigen lassen, und dann mit der Methode onMouseKlick hin und her schieben ?OnMouseClik ist, soweit ich weiß, ein Event/Ereignis von elementen der Toolpalette.
Wie kann es auf einem von mir gezeichneten Bild benutzen.
Soll ich vielleicht jedes Element in einem PaintBox zeichnen und dann darauf Das Ereignis OnMouseClick auf jedem PaintBox benutzen ?danke im Voraus
nein, ich denke nicht, dass eine Grafikbibliothek wie die GDI oder generell eine (GUI-)Lib für (recht allgemeine, sowie Datenbank und Internetbezogene) Anwendungsentwicklung Routinen und Klassen zum Darstellen von Kräften und Gitternetzen in 2D bereitstellt.
OnMouseDown, OnMouseUp und OnMouseMove sollte genügen.
du wirst doch bestimmt die daten in bestimmten strukturen innerhalb deines programms speichern, du wirst doch bestimmt eine Klasse Vector haben, die womöglich noch zusätzlich 2 Knotenpunkte für das Fachwerk definiert. Und diese könnten sich in einer TList, in einer std::list oder std::vector oder oder.. befinden.Du schreibst dir ganz einfach eine Routine, die dir einen Vektor zeichnet.
Ferner fängst du die Maus-Clicks auf die PaintBox ab, guckst, wo sich dabei die Mouse befindet, fügst einen entsprechende eintrag in deine Liste ein und zeichnest.Darf man fragen, wie fortgeschritten du in C++, speziell mit der VCL oder GUI erstellung allgemein bist?