...change the font style of a statusbar?

Author: Thomas Stutz

Category: Graphic

{
  To use this example, you need a TStatusBar and at least one Panel.
  Then change the style of StatusBar1.Panels[0] to
  psOwnerDraw and add the code below to the OnDrawPanel handler.

  Es wird eine TStatusBar für dieses Beispiel benötigt mit
  mindestens einem Panel.
  Der Style von StatusBar1.Panels[0] muss zu psOwnerDraw
  geändert werden.
  Füge dann folgenden Code im OnDrawPanel Ereignis hinzu:
}

procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
  Panel: TStatusPanel; const Rect: TRect);
var
  
SomeText: string;
begin
  if 
Panel = StatusBar1.Panels[0] then
  begin
    
SomeText    := 'Hello!';
    Panel.Width := Trunc(StatusBar1.Canvas.TextWidth(SomeText) * 1.5);
    with StatusBar.Canvas do 
    begin
      
Brush.Color := clWhite;
      FillRect(Rect);
      Font.Name  := 'Arial';
      Font.Color := clRed;
      Font.Style := Font.Style + [fsItalic, fsBold];
      TextRect(Rect, Rect.Left + 1, Rect.Top, SomeText);
    end;
  end;
end;

 

printed from
www.swissdelphicenter.ch
developers knowledge base