![]() |
AW: Einzelne Objekte im Canvas löschen
Danke erstmal, eien Frage hätte ich (erstmal) noch:
Ich habe schon mehrere Klassen, wenn ich meine eigene Klasse hinzufüge, steht dort, ich soll Sie nicht TObjekte = class nennen, sonern TObjekte : class Also hab ich die vorgefertigte Form-Klasse mit end; beendet. Funktioniert auch nicht, wie starte ich jetzt die neue Klasse??
Code:
private
TObjekt = class oldx, oldy, newx, newy, thickness: Integer; vgf, hgf: Tcolor; //Vordergrundfarbe, Hintergrundfarbe bstyle: TBrushstyle; //Brushstyle; procedure saveobjekt(oldx, oldy, newx, newy, thickness: integer; vgf, hgf: TColor; bstyle: TBrushStyle ); |
AW: Einzelne Objekte im Canvas löschen
Vlt. solltest du dir mal ein Grundlagentutorial ansehen?! ...
|
AW: Einzelne Objekte im Canvas löschen
Mein Vorschlag: Teste Dich langsam heran.
Erstelle am besten erst einmal eine eigene Klasse (z.B. Ableitung von einem Panel). TPanelKreis, TPanelLine etc. Da ersetzt Du einfach die Paint-Methode und lässt etwas passendes auf dessen Canvas zeichnen. Mit Left und Top kannst Du die Objekte positionieren. Dann hast Du erst mal "richtige Objekte zum anfassen". (Das hat Vor- und Nachteile). Wenn Du soweit mit Objektentwicklung vertraut bist, kannst Du die Objekte später auch ändern und dann direkt auf die eigentliche Zeichenfläche zeichnen lassen. Das Problem, das dann zu lösen ist: Du kannst dann die "Objekte" nicht mehr (so ohne Weiteres) mit der Maus selektieren, da Du ja dann nur noch ein großes Gesamtbild darstellst. Die Objekte haben dann kein eigenes Handle, das z.B. Mausereignisse abfangen kann. |
AW: Einzelne Objekte im Canvas löschen
Mach ich gerade, hab das Problem auch schon gefunden. Trotzdem danke.
Wie gesagt, ich habe seit diesem Schuljahr erst Informatik in der Schule, zwei Stunden in der Woche und ich bin noch der Beste aus unserem Kurs, die Anderen sind gerade an den ersten Zeichenfunktionen ihres "Paint"-Programms |
AW: Einzelne Objekte im Canvas löschen
Zitat:
|
AW: Einzelne Objekte im Canvas löschen
@scrat1979:
Lies nochmal genau, was DeddyH geschrieben hat. Da steht nichts über "von hinten nach vorne". Das wäre nur wichtig, wenn man die Schleife abarbeitetet und dazu auch noch etwas löscht. Aber nicht, wenn man erst löscht und dann die Liste durchgeht. |
AW: Einzelne Objekte im Canvas löschen
Ich gehe ja davon aus, dass ein neues Objekt zeichnet und sich ans Ende der Liste gesellt. D.h. das erste Objekt steht auch am Anfang der Liste, also muss auch in der Reihenfolge erneut gezeichnet werden.
|
AW: Einzelne Objekte im Canvas löschen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo nochmal. Ich habe jetzt die ganze Zeit versucht, die gezeichneten Objekte
in eine ObjectList einzufügen. Ich bin gerade bei der ersten Zeichenfunktion, den Linien(Z. 432-446). Ich erstelle eine Variable "Element" und nach dem er die Linie gezeichnet hat, deklariert er in dieser Variable die Koordinaten und die Art. Mit der Funktion ObjectList.Add(Element) sollte ja das Element jetzt auch der ObjectList hinzugefügt werden, allerdings wenn ich das Programm starte, beendet er es wieder, zeigt mir in Delphi so eine Fehlermeldung an: Im Projekt Minipaint2.exe ist eine Exception der Klasse EAccesViloation... Aber eine Fehlermeldung im Sinne von: "=" gefunden, aber ":" erwartet bleibt aus. Könnte Sich jemand vielleicht das Programm mal anschauen, wäre echt nett. Danke |
AW: Einzelne Objekte im Canvas löschen
Hallo,
Zitat:
var ObjectList: TXXX; ObjectList:= TXXX.Create; Heiko |
AW: Einzelne Objekte im Canvas löschen
Danke, ich hasse so doofe Fehler.
Habe gerade ausprobiert und soweit funktioniert es auch, aber: Wenn ich das Programm wieder schließe, kommt der selbe Fehler? Muss ich die Liste vorher löschen oder so? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:19 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