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





Article #17716: Changing font color on standard win controls.

 Question and Answer Database
FAQ2716D.txt Changing font color on standard win controls.
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 colors you want.
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