Einzelnen Beitrag anzeigen

Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.537 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: FM: Auf Panel.Canvas malen

  Alt 4. Mär 2014, 00:54
Das ist wohl ein FM Feature. Zeichnen geht nur im Onpaint.
Nur bei Image.Bitmap.Canvas kann man das so machen.
Warum das bei Image dann doch geht erschliesst sich mir nicht so ganz.
Martin
Also ich finde, das macht Sinn. Auch unter der VCL sollte man bei Controls die Zeichenaktionen auf den Canvas immer in den OnPaint, OnDraw-Events vornehmen. Wenn man das nicht so macht, und z.B. ein anderes Fenster über den selbst gezeichneten Canvas (außerhalb des onPaint-Events) zieht, dann ist die Darstellung weg oder verschmiert.

Image.Bitmap.Canvas ist ja quasi nur ein "interner" Canvas, den Du benötigst, um das Bitmap zu verändern (es existieren dafür natürlich noch andere Wege). WANN Du das dann anzeigst, ist eine ganz andere Frage. Von alleine wird die Änderung auch nicht angezeigt, allenfalls wenn Du mit der Maus oder einem anderen Fenster darüber ziehst, bzw. programmseitig eine Aktualisierung erzwingst.

Letztlich ist es eine Frage der optimierten Darstellung, die wenig Ressourcen beanspruchen soll: Änderungen nur anzeigen, wenn vorhanden und notwendig.
  Mit Zitat antworten Zitat