![]() |
Firemonkey auf Canvas eines Steuerelementes zeichnen
Hallo,
aus bestimmten Gründen muss ich direkt auf das Canvas eines TExpanders zeichnen. Dass ich das im OnPaint machen muss, weiß ich, aber jetzt passiert etwas ganz merkwürdiges:
Delphi-Quellcode:
procedure TForm1.Expander1Paint(Sender: TObject; Canvas: TCanvas;
const ARect: TRectF); begin Expander1.canvas.BeginScene(); Expander1.canvas.Clear(Talphacolors.Blue); Expander1.canvas.EndScene; end; Das gesamte Formular und der Expander wird blau! Was ist denn nun los? Nachtrag: Wenn ich den Code verlagere nach
Delphi-Quellcode:
procedure TForm1.Expander1Painting(Sender: TObject; Canvas: TCanvas;
const ARect: TRectF); begin Expander1.canvas.BeginScene(); Expander1.canvas.Clear(Talphacolors.Blue); Expander1.canvas.EndScene; end; ist das Formular blau und der Expander weiß! Ciao Stefan |
AW: Firemonkey auf Canvas eines Steuerelementes zeichnen
Kann ja sein das ich Blind bin aber ich sehe keinerlei unterschied zwischen beiden Schnipseln.
gruss |
AW: Firemonkey auf Canvas eines Steuerelementes zeichnen
Einmal der Paint - und einmal der Painting - Event
Ciao Stefan |
AW: Firemonkey auf Canvas eines Steuerelementes zeichnen
Du machst direkt 2 Fehler:
1. Du musst den vom Event übergebenen Canvas verwenden 2. Du musst das übergebene ARect verwenden, um im Zeichenbereich des Objekts zu bleiben. Und noch ein Hinweis: Letztlich verwendest Du das OnPaint-Event für Deine Zeichenausgaben. Das OnPainting-Event signalisiert Dir nur, dass das Objekt demnächst gezeichnet wird. Da kannst Du dann, wenn Dein Programmablauf das erfordert, irgendwelche vorbereitenden Sachen machen. |
AW: Firemonkey auf Canvas eines Steuerelementes zeichnen
Zitat:
Ciao Stefan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:04 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