Главная страница | назад





Article #16664: Colored text on a TStatusBar

 Question and Answer Database
FAQ1664D.txt Colored text on a TStatusBar
Category :VCL
Platform :All
Product :All 32 bit
Question:
Why do changes to the StatusBar's font color not have any affect?
Answer:
The status bar is a standard Windows control, and as such, displays
the font in the clBtnText value, which is set via the Control Panel.
This color is black by default, but it can vary due to the user's
color scheme. Other standard Windows controls, such as buttons,
exhibit this identical behavior. The StatusBar and its associated
panels have an owner-draw capability that allow you to draw text
in any colors you want. Be sure to change the Style property
of the TStatusBar.Panels to OwnerDraw.
Example:
procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect);
begin
if Panel = StatusBar.Panels[0] then begin
StatusBar.Canvas.Font.Color := clRed;
StatusBar.Canvas.TextOut(Rect.Left, Rect.Top, 'Panel — 0')
end else begin
StatusBar.Canvas.Font.Color := clGreen;
StatusBar.Canvas.TextOut(Rect.Left, Rect.Top, 'Panel — 1');
end;
end;
7/16/98 4:31:28 PM

Last Modified: 01-SEP-99