![]() |
Problem: Canvas zeichnet nicht!
Hi,
ich habe folgendes Problem:
Delphi-Quellcode:
Wenn ich auf den Button klicke, wird nur die Schriftfarbe rot.
procedure TForm1.Button1Click(Sender: TObject);
begin Label1.Font.Color := clRed; Label1.Canvas.Pen.Color := clGreen; Label1.Canvas.MoveTo(0, 0); Label1.Canvas.LineTo(20, 10); end; Erst beim zweiten Klick auf den Button wird die grüne Linie gezeichnet. Woran liegt das? Wie kann ich das ändern????? |
Re: Problem: Canvas zeichnet nicht!
Delphi-Quellcode:
?
Label1.Update;
|
Re: Problem: Canvas zeichnet nicht!
Ja, super!!!
:thumb: Danke, das hat geklappt:
Delphi-Quellcode:
Verstanden habe ich es aber trotzdem nicht...
procedure TForm1.Button1Click(Sender: TObject);
begin Label1.Font.Color := clRed; Label1.Update; // <--- hier eingefügt Label1.Canvas.Pen.Color := clGreen; Label1.Canvas.MoveTo(0, 0); Label1.Canvas.LineTo(20, 10); end; |
Re: Problem: Canvas zeichnet nicht!
Das Label1.update bewirkt, dass Delphi das Label aktualisiert.
Desshalb wird der neue Canvas dann aufs Label geschrieben. |
Re: Problem: Canvas zeichnet nicht!
Zitat:
Sorry, aber ein Label ist nicht für das Zeichnen von außen geeignet. Dazu gibt es TImage (direktes Zeichnen möglich) oder TPaintBox (Zeichnen innerhalb der OnPaint-Behandlung). Eine weitere Alternative wäre das Ableiten einer eigenen Komponente von TGraphicControl oder TCustomControl. Gruß Hawkeye |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:22 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