![]() |
undo für canvas-ereignisse
also ich hab um das system der ganzen malerei zu verstehen (anfangs hatte ich damit probleme, jetzt gehts eigentlich) ein ziemlich simples ""malprogramm" gebastelt! es beinhaltet lediglich die funktionen LineTo; MoveTo; canvas.rectangle; canvas.ellpise. wie gesagt, das war am anfang wo ich mit 2D-grafiken angefangen habe. man kann da wunderbar eine linie oder was auch immer hintereinander-weg malen, doch wie mach ich das, wenn ich das zuletzt gezeichnete (sei es ne linie oder ein rechteck oder Kreis/Ellipse) wiederrufen möchte!????
bei einem strich is einfach....einfach Form1.repaint :firejump: (watt ein brüller :nerd: ) naja spas beiseite. hatte schonmal gesucht unter "undo", bin aber nicht wirklich schlau draus geworden! ich weiß, is glaube ich kein einfaches ding, aber irgendwann muss ich ja mal fragen :roll: danke schonmal ciao haegar |
Das Canvas Objekt unterstützt kein Undo. Wenn Du eine Undo Funktion liefern willst, dann musst Du Dir die vorhergehende(n) Variante merken und bei Bedarf wieder darauf zugreifen.
...:cat:... |
Könntest nach jeder Aktion, das Bitmap auf welches Du zeichnest in ein anderes "kopieren" und dann dieses, wenn Du undoost wieder übernehmen.
|
na gut, noch male ich auf Form1.canvas..... :roll:
das mit den bitmaps is denk ich ne gute variante. is hoffentlich so einfach wie ich mir das denke, aber erstml probieren. is aber nicht grad die speichersparenste methode, stimmts? ich hatte mir schonmal mehrere redo/undo-sources angeschaut, doch waren die noch zu kompliziert für mich, also werd ich es erstmal bei der variante belassen :lol: ok machts gut haegar |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz