Mein Source darf nicht nur für "Form1" gelten. Das wird alles vererbt. Letzter Stand ist der hier :
Delphi-Quellcode:
with Sender as TLabel do begin
Color := clSkyBlue;
Font.Color := clNavy;
end;
//showmessage ('1111');
Canvas.Pen.Width:=1;
Canvas.Pen.Color:=clBlue;
Canvas.Rectangle((Sender as TLabel).Left,(Sender as TLabel).Top,
(Sender as TLabel).Left + (Sender as TLabel).Width,
(Sender as TLabel).Top+(Sender as TLabel).Height);
Sofern die showmessage nicht auskommentiert ist, sieht man den Rahmen und zwar auch mit den richtigen Koordinaten. Repaint nützt da auch nichts.
Noch ein Effekt : ist der Rahmen zu sehen, dann ist die Label.Caption weg oder wohl eher überdeckt. Ich denke das Rectangle zeichnet nur Linien ? Habe doch kein FillRect etc. verwendet.