- - * - WhiteUnicorn - * - -




* #WhiteUnicorn/ StartPage/ Documentation/DelphiFAQ >


Frequently Asked Questions

Changing font color on standard win controls.

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;




* #WhiteUnicorn/ StartPage/ Documentation/DelphiFAQ >



- - * - Anastasija aka WhiteUnicorn - * - - LJLiveJournal
PFPhotoFile