Wie ändere ich gezeichnete Linien in ein Objekt?

  • VB6

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von tfuchs@cadsys.de.

    Wie ändere ich gezeichnete Linien in ein Objekt?

    Hallo,
    ich habe mit
    Line(x1,y1)-(x2,y2), b
    ein Rectangle gezeichnet. Ist es nun möglich das ganze sozusagen zusammenzufassen, zB unter Rectangle1 und ich dann z.b. schreiben kann
    Rectangle1.top = 50
    also sozusagen das Gezeichnete als Objekt „speichern“
    Hm, nicht das ich wüsste. VB6 ist bei mir 20 Jahre her. Sobald Du da was drübermalst, musst Du ja das Ganze erneut zeichnen, weil das nur ne einmalige Veränderung ist. Aber Du könntest ja eine Klassen schreiben, bei der Du die Koordinaten etc. hinterlegen kannst. Und das

    Visual Basic-Quellcode

    1. Line(x1, y1)-(x2, y2), b

    kommt dann in eine Klassensub, die Du dann zu geeigneten Zeitpunkten wieder aufrufen musst/kannst.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Warum erstellst Du dir kein Object welches die Informationen der gezeichneten Geometrie enthält.

    Die kannst du ganz Normal speichern und es jederzeit wieder aufrufen.
    z.B. so für eine Object Dreieck welches Du dann in einer List(of Dreieck) speichern kannst.

    Quellcode

    1. Public Class Dreieck
    2. Dim ID As Integer 'Index deines gezeichneten Dreiecks
    3. Dim Pos As Point 'Position des Dreiecks
    4. Dim B As Integer 'Breite des Dreiecks
    5. Dim H As Integer 'Höhe des Dreiecks
    6. Public Property Index As Integer
    7. Get
    8. Return ID
    9. End Get
    10. Set(Index As Integer)
    11. ID = Index
    12. End Set
    13. End Property
    14. Public Property Position As Point
    15. Get
    16. Return Pos
    17. End Get
    18. Set(Position As Point)
    19. Pos = Position
    20. End Set
    21. End Property
    22. Public Property Breite As Integer
    23. Get
    24. Return B
    25. End Get
    26. Set(Breite As Integer)
    27. B = Breite
    28. End Set
    29. End Property
    30. Public Property Höhe As Integer
    31. Get
    32. Return H
    33. End Get
    34. Set(Höhe As Integer)
    35. H = Höhe
    36. End Set
    37. End Property
    38. End Class

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „tfuchs@cadsys.de“ ()

    @tfuchs@cadsys.de
    Dein Vorschlag lässt sich wesentlicher einfacher schreiben

    VB.NET-Quellcode

    1. Public Class Dreieck
    2. Public Property Index As Integer 'Index deines gezeichneten Dreiecks
    3. Public Property Position As Point 'Position des Dreiecks
    4. Public Property Breite As Integer 'Breite des Dreiecks
    5. Public Property Hoehe As Integer 'Höhe des Dreiecks
    6. End Class
    Wenn die Getter und Setter keine andere Aufgabe haben, als die Shadow-Variable zu widerspiegeln, kannst du sie auch weg lassen.

    Edit: sollte es sich jedoch tatsächlich um natives VB6 handeln, wie in den Tags ausgeführt, sieht die Syntax nochmals ganz anders aus.

    Visual Basic-Quellcode

    1. Private ID As Integer
    2. Public Property Get Index As Integer
    3. Index = ID
    4. End Property
    5. Pubic Property Let Index (value As Integer)
    6. ID = value
    7. End Property
    8. 'usw.


    Und dann kommt aber dennoch in beiden Fällen die in Post #2 erwähnte Klassen-Sub hinzu.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „petaod“ ()