C++ Builder6: Eine Linie "malen" und weglöschen - wie?



  • Ich benutze für die Grafische dartellung in meinem Programm mehrere TShape's, aber TShape kann keine linie machen.
    Das einziege was ich zum Thema gefunden habe - ist

    Canvas->MoveTo(0, 0);
      Canvas->LineTo(X, Y);
    

    Aber wie lösche ich so eine linie weg ohne was anderes zu "Beschädigen"? Oder soll man es jedes mal brim repaint auslösen? (zZ bin unter Zeitdruck - keine Zeit zum rumprobieren).
    Außerdem, soll die linie zum teil über andere TShape's gehen..

    Kennt jemand eine Lösung?
    Am besten würede mir ein Component wie TShape passen, der das könnte..

    Danke.



  • Hallo

    Das gehört ins Builder-Subforum, du wirst sicher gleich dorthin verschoben.

    Verzichte auf TShape und mal auch diese Figuren per Canvas, dann knnst du diese auch verbinden wie du willst. Löschen in dem Sinne kannst du aus Canvas nichts.
    Du kannst
    - das bestehende nochmal in der Hintergrundfarbe löschen
    - Die gesamte Fläche mit der Hintergrundfarbe überdecken alles nochal komplett neu zeichnen
    - Im Hintergrund zwei verschiede TBitmap-Instanzen nutzn, einen für einen Fixen Hintergrund und einen für den variablen Vordergrund. Dann kannst du die Anzeige schnell aus den beiden zusammensetzen, wenn benötigt.

    bis bald
    akari



  • die linie soll weg ohne repaint?

    male doch in der farbe die linie über die der hintergurnd hat



  • Sorry, habe den Builder-forum nicht bemerkt.

    Ok, also wenn ich mit Canvas male, kann ich die normalen figuren nicht überdecken... Alles per hand... Und muss ich das bei jedem WM_PAINT machen oder nicht?

    Und gibt es vielleicht einen VCL-Componenten, der auf OOP-level mit Grafischen Objekten innerhalb von dem arbeiten kann?



  • TImage?



  • Dieser Thread wurde von Moderator/in Marc++us aus dem Forum C++ in das Forum VCL/CLX (Borland C++ Builder) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • 1. Male mit PenMode pmNot. das malt invers! wenn Du nochmal malst, ist der Hintergrund wieder ok
    2. Bau Dir ne Kompo analog zu TShape selbst - muss ja nicht alles von TShape nachmachen. Ableiten von TGraphicControl. (Hab son Teil für Polygone gemacht, der Aufwand ist halb so wild)



  • Habe es so gemacht, danke sehr an alle!


Anmelden zum Antworten