Hmmm,
Da sonst keiner zu antworten scheint hier en paar sehr theoretische Ausführungen.
Corel Draw habe ich selbst nicht, aber ich kann mir vorstellen, daß die Linien in VBA als Objekte einer Collection zur Verfügung stehen, und ähnlich den Line-Controls in VB x- und y- Koordinaten für die Start- und Endpunkte haben. Dann wäre die Vorgehensweise folgende:
- Originallinie in der Collection suchen
- ein neues Linienobjekt erzeugen
- der neuen Linie alle Eigenschaften der Originallinie zuweisen
- die x- und y- Koordinaten jeweils um den gewünschten Betrag
verändern(beide x-Koordinaten bzw y-Koordinaten müssen natürlich
denselben Auschlag erhalten, damit die Linie parallel bleibt
- Die neue Linienart zuweisen
- wenn erforderlich, das neue Linienobjekt der Zeichnug hinzufügen
Das funktioniert für gerade Linien vermutlich problemlos.
Eine Parallelität kann es bei Kurven per Definition nicht geben. Hier mußt du prüfen, ob ein Verschieben des Objktes wie oben beschrieben ausreicht, oder ob das gesamte Objekt obendrein noch skaliert werden muß.
Im Extremfall kann ein Kurvenobjekt ja konvexe und konkave Krümmungen enthalten. (Z. B. der Linienzug des Buchstabens „S“) Dann mußt Du für jede Teillinie der Kurve individuell die Punkte neu errechnen. Um beim Beispiel „S“ zu bleiben: Eine auf der linken Seite des S gezogene Linie muß für die obere Hälfte des Buchstabens vergößert werden, für den unteren Teil verkleinert. Dann wird’s ziemlich komplex…
Hoffentlich hat’s etwas geholfen
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]