Warum eine extra Komponente von TControl ableiten?
Desweiteren kann es sein, das jemand die Breite einzelner Panels der StatusBar an die Breite der Form anpassen will.
Deshalb im OnResize-Event die Größe z.B. der ProgressBar an Größe des Panels anpassen.
Mein Vorschlag:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
// Place progressbar on the statusbar
ProgressBar1.Parent := StatusBar1;
end;
procedure TForm1.FormResize(Sender: TObject);
var PanelRect: TRect;
begin
// Retreive the rectancle of the statuspanel (0 für das erste Panel, 1 für das zweite usw.)
SendMessage(StatusBar1.Handle, SB_GETRECT, 0, Integer(@PanelRect));
// Position the progressbar over the panel on the statusbar
with PanelRect do
ProgressBar1.SetBounds(Left, Top, Right-Left, Bottom-Top);
end;
Ansonsten ein super Code
Man kann sogar ein TImage oder jede andere Komponente so auf eine StatusBar setzen...