![]() |
Application.ProcessMessages überflüssig machen
Hi,
Application.ProcessMessages habe ich noch zweimal im Programm stehen und das muss noch weg. Wieso ist das hier z.B. nötig ?
Delphi-Quellcode:
Das betreffende Panel hat TabOrder = 0. Positionierung geht. Die Farbe wird auch mit Color := clSkyBlue; richtig gesetzt. Das Rectangle 3 Zeilen weiter geht nicht. Es sei denn die auskommentierte Zeile wird tatsächlich durchlaufen, also nicht als Kommentar. 8)
procedure Tfrm.pnlEnter(Sender: TObject);
begin inherited; if (Sender is TPanel) then begin //Application.ProcessMessages; StatusBar1.SimpleText := 'PanelEnter '+(Sender as TPanel).name+'*'; with Sender as TPanel do Color := clSkyBlue; Canvas.Pen.Width := 4; Canvas.Pen.Color := clNavy; Canvas.Rectangle ((Sender as TPanel).Left, (Sender as TPanel).Top, (Sender as TPanel).Left + (Sender as TPanel).Width, (Sender as TPanel).Top + (Sender as TPanel).Height); end; end; |
Re: Application.ProcessMessages überflüssig machen
stimmt das denn? auf welchem Canvas malst Du denn?
müsste das nicht so aussehen?
Delphi-Quellcode:
Wenn es denn so wäre, würde ich zeichenroutinen in die Paint-Methode der Componente stecken.
with Sender as TPanel do
begin ... end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:26 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