Einzelnen Beitrag anzeigen

heiopei
(Gast)

n/a Beiträge
 
#6

Re: Canvas als Property übergeben...

  Alt 26. Sep 2007, 16:55
[quote shima]
FMyGraph.PaintTo(Paintbox1.Canvas, xoffset, yoffset);
[/quote]

Wenn sich ein Property ändert, so muss das ganze Koordinatensystem neu gezeichnet werden.
Das mache ich, indem ich eine Prozedur "PropertyChanged" aufrufe, so bald ein Property geändert wird.
Diese wiederum leert die Canvasoverfläche, Zeichnet das Koordinatensystem neu und löst ein Ereignis "OnPropertyChanged" auf, um es der verwendenden Komponente zu erlauben, darauf durch z.B. neu zeichnen der Funktionen und Ausgabe auf der Paintbox zu reagieren.

Wenn ich es so machen würde, wie du beschreibst (also Übergabe des Canvas als Funktionsparameter), dann müsste ich die verwendende Komponente jedes mal benachrichtigen, dass neu gezeichnet werden soll und alle zeichenaktionen von dieser ausführen lassen; d.h. die verwendende Komponente müsste auf das OnPropertyChanged-Event reagieren, indem es selbst die Zeichnfläche leert, die Koordinaten-System-Zeichenfunktion von TKoordinatenSystem aufruft, die Funktionen neu auf das Bitmap zeichnet und dann das Bitmap auf die PaintBox ausgibt!

Was ist jetzt besser - bin mir nicht sicher!
  Mit Zitat antworten Zitat