Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.149 Beiträge
 
Delphi 12 Athens
 
#5

AW: PaintBox in Image

  Alt 23. Apr 2018, 11:48
   PB_Signature.Invalidate; gehört nichts ins OnPaint.
Damit wird ein Neuzeichnen ausgelöst.
Das rufst du von Extern auf (z.B. in deinem PB_SignatureMouseMove), wenn sich die Daten / der Inhalt geändert hat, worauf OnPaint ausgeführt wird.
Wenn du es im OnPaint machst, dann hast du eine Endlosschleife.

Oder du malst doppelt, also in das Bitmap und in die PaintBox.
Muß die PaintBox neu gezeichnet werden, dann wird im OnPaint nur das Bitmap neu ausgegeben.



Eine PaintBox ist per se nur WriteOnly.
Auch wenn "manchmal" der Inhalt ausgelesen werden kann, so ist er nicht fest.
Wird durch irgendwas ein Neuzeichnen ausgelöst, dann ist der Inhalt weg. (z.B. weil ein Fenster kurz vor der PaintBox war)

Alternativ kannst du auch ein TImage mit einem Bitmap drin verwenden.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (23. Apr 2018 um 11:52 Uhr)
  Mit Zitat antworten Zitat