Zeichenstile einstellen (TImage oder TPaintBox)

Rund um die LCL und andere Komponenten
Antworten
Harry
Beiträge: 7
Registriert: Mi 18. Feb 2009, 08:24

Zeichenstile einstellen (TImage oder TPaintBox)

Beitrag von Harry »

Hallo,

im OnShow-Event des TForms setze ich die Zeichenstile für ein TImage darin:

Code: Alles auswählen

procedure TForm1.FormShow(Sender: TObject);
begin
  Image1.Canvas.Brush.Color := clYellow;
  Image1.Canvas.Brush.Style := bsSolid;
end;
Wenn ich allerdings im OnPaint-Event des TImage etwas zeichne, dann werden nicht die hier gesetzten Stile benutzt, sondern die Standardeinstellungen. Irgendwo dazwischen müssen diese also wieder zurückgesetzt werden.

Kann man irgendwo die Zeichenstile für ein TImage (oder für das Bitmap darin oder auch für eine TPaintBox) die Zeichenstile vorher einstellen, sodass sie nicht jedes Mal im OnPaint-Event aufs Neue gesetzt werden müssen?

Harry
Zuletzt geändert von monta am Fr 20. Feb 2009, 20:03, insgesamt 1-mal geändert.
Grund: Codetags gesetzt ([code=laz]...[/code])

Benutzeravatar
theo
Beiträge: 10927
Registriert: Mo 11. Sep 2006, 19:01

Re: Zeichenstile einstellen (TImage oder TPaintBox)

Beitrag von theo »

K.A, warum das zurückgesetzt wird, aber setze sie doch einfach in OnPaint. Die Aktion ist äusserst "billig" und es lohnt nicht, sich über deren Performance Gedanken zu machen.

KOBOLD Messring GmbH
Beiträge: 155
Registriert: Mi 22. Aug 2007, 14:52
OS, Lazarus, FPC: Mandriva Linux 2008 (L 0.9.28 FPC 2.2.4)
CPU-Target: 32Bit
Wohnort: 65719 Hofheim am Taunus
Kontaktdaten:

Re: Zeichenstile einstellen (TImage oder TPaintBox)

Beitrag von KOBOLD Messring GmbH »

Ich meine es gibt noch so ein "zwischengeschaltetes" Event OnPrepareCanvas, welches vor jedem Zeichnen aufgerufen wird. Wenn da nicht explicit etwas gesetzt wird, werden Standardeinstellungen verwendet (d.h. Deine Einstellungen von OnShow verworfen). Aber generell gehören Deine Einstellungen in OnPaint, unmittelbar davor, wo sie Verwendung finden.

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Zeichenstile einstellen (TImage oder TPaintBox)

Beitrag von pluto »

eignetilch wird zum zeichnen nur onPaint aufgerufen. Sonst nichts. Es sei denn es ist eine spiecelle Komponente wie z.b. die TListbox... Aber bei einer PB oder TImage eigentlich nicht.
MFG
Michael Springwald

Antworten