Einzelnen Beitrag anzeigen

Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: ProgressBar, Shape ... in einer Statusbar einbinden?

  Alt 30. Jul 2006, 16:43
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...
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat