Почему при изменении цвета шрифта в StatusBar’s он (шрифт) не меняется?

Вопрос:
Почему при изменении цвета шрифта в StatusBar's он (шрифт) не меняется?

Ответ:

Status bar (строка состояния)
- стандартный элемент управления Windows и цвет его шрифта задается через Control
Panel (константа 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;

Комментариев Нет.

Написать Ответ

Вы должны войти чтобы оставить комментарий.