Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Application.ProcessMessages überflüssig machen (https://www.delphipraxis.net/87446-application-processmessages-ueberfluessig-machen.html)

Hansa 28. Feb 2007 20:20


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:
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;
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)

sh17 28. Feb 2007 20:48

Re: Application.ProcessMessages überflüssig machen
 
stimmt das denn? auf welchem Canvas malst Du denn?

müsste das nicht so aussehen?
Delphi-Quellcode:
with Sender as TPanel do
begin
...
end;
Wenn es denn so wäre, würde ich zeichenroutinen in die Paint-Methode der Componente stecken.


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