- Переместить на форму StatusBar с закладки Win32
- Создать необходимое количество панелей (Кликаем правой кнопкой мыши на StatusBar-е и выбираем пункт меню Panels Editor...(Рис.1), после чего появится окно с помощью которого есть возможность управлять панелями, которые размещены на StatusBar (Рис.2))
Рис.1
Рис. 2
- Изменяем текст на панелях (Для этого выбираем в Panel Editor...(Рис. 2) из списка нужную панельку и изменяем свойство Text на нужный. Если нужно изменить цвет текста для панели - нужно установить свойство Style - psOwnerDraw (Рис. 3). Для примера я взял вторую панель с текстом - "текст2")
Рис. 3
- Переходим на StatusBar и в Object Inspector создадим для него событие onDrawPanel.(Для создания события нужно кликнуть 2 раза напротив поля onDrawPanel)
Рис. 4
- Пишем код для события onDrawPanel:
procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar; Panel: TStatusPanel;const Rect: TRect);
begin
if Panel = StatusBar.Panels[1] then
begin
StatusBar.Canvas.Font.Color := clRed;
StatusBar.Canvas.TextOut(Rect.Left, Rect.Top, 'тест 2')
end
end;
Разберем код: Нумерация панелей начинается с "0", поскольку мы работаем с второй панелью - мы указываем StatusBar.Panels[1]. Если у нас нужная панель - изменяем цвет на красный (StatusBar.Canvas.Font.Color := clRed;) и выводим текст (StatusBar.Canvas.TextOut(Rect.Left, Rect.Top, 'тест 2'))
В результате мы получим StatusBar, в котором текст написан на второй панели окрашен в красный цвет. Результат можно просмотреть на Рис.5
Рис.5
Комментариев нет:
Отправить комментарий