Einzelnen Beitrag anzeigen

pszopp

Registriert seit: 7. Sep 2005
Ort: Alsdorf
95 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Statusbar Farbe eines Panels ändern

  Alt 19. Sep 2005, 15:31
Hallo Gambit,

es geht nur über einen kleinen Umweg.
Du musst bei der Statusbar das gewünschte Panel auswählen und die Eigenschaft Style
auf psOwnerDraw stellen.
Damit sagst du der Komponente, dass das ausgewählte Panel nicht automatisch gezeichnet wird.

Nun muss in der Statusbar das Event OnDrawPanel definitert werden.
Dieses Event wird immer dann aufgerufen, wenn die Statusbar ein Panel mit dem Style = psOwnerDraw
zeichnen muss.

Dort kann dann beliebiger Code stehen. z.B.:

Delphi-Quellcode:
procedure TForm1.sbMainDrawPanel(StatusBar: TStatusBar;
  Panel: TStatusPanel; const Rect: TRect);
begin
  sbMain.Canvas.Brush.Color:=clLime;
  sbMain.Canvas.TextOut(Rect.Left, Rect.Top, Panel.Text);
end;
Bei diesem Beispiel würde der Paneltext in einem hellen Grün erscheinen.
  Mit Zitat antworten Zitat