Карта сайтаСсылкиКонтакты

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

PDF Печать
Статьи

Как использовать событие 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; 

Автор: http://www.delphi3000.com


 

Добавить комментарий


Защитный код
Обновить