Внешний вид сайта:

Цветной текст на TStatusBar

Как использовать событие DrawPanel. Почему изменения цвета шрифта StatusBar не производят никаких изменений? Строка состояния — стандартное управление Windows и также отображает шрифт значением clBtnText, которое установлено через Панель Управления.

По умолчанию это черный цвет, но он может меняться в зависимости от цветовой схемы пользователя. Другие стандартные управления типа кнопок имеют идентичное поведение.

StatusBar и его связанные панели имеют особенность Owner-Draw, которая позволяет Вам рисовать текст любым цветом, каким хотите. Убедитесь, что изменили свойство Style у TStatusBar.Panels на OwnerDraw.

Пример:

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;

Комментарии

Нет комментариев. Ваш будет первым!