Вопрос:
Почему при изменении цвета букв StatusBar'а ничего не происходит?

Ответ:

Status bar – стандартный
элемент управления Windows, и соответственно цвет его букв – значение clBtnText
которое изменяется с помощью настроек в Control Panel. Этот цвет черный по умолчанию
и может изменяться в зависимости от выбранной цветовой схемы. Другие стандартные
элемент управления Windows, например кнопки, также имеют цвет букв, настраиваемый
из ControlPanel. StatusBar и его панели имеют свойство “owner-draw”, позволяющее
Вам использовать любой цвет букв.

Пример:
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;

Tags: , , , , ,

Дата создания: Воскресенье, июня 8, 2008 - 19:48 и находится в категории Delphi FAQ. Вы можете отслеживать ответы через RSS 2.0. Вы можете ответить.

Ответить

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