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)