![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Всем доброго времени суток!
Столкнулся с такой проблемой, может кто поможет. Мне нужно изменить цвет StatsBar. Сделал это так. У каждой панели StatusBar изменил свойство Style на psOwnerDraw. И в обработчие события DrawPanel разукрашиваю как надо Код:
procedure TfMain.sbGraphicsInfoDrawPanel(StatusBar: TStatusBar; Panel: TStatusPanel; const Rect: TRect); begin StatusBar.Canvas.Brush.Color := clInactiveCaptionText; StatusBar.Canvas.Brush.Style := bsSolid; StatusBar.Canvas.FillRect(StatusBar.Canvas.ClipRect {Rect}); StatusBar.Canvas.Font.Color := clBlue; StatusBar.Canvas.TextOut(Rect.Left+5, Rect.Top+5, Panel.Text); end; В общем всё работает. НО, теперь при уменьшений размера формы (до определенного момента), в некоторых ячейках StatusBar прорисовываются какие то левые изображения и надписи. Причем эти иконки и надписи из пунктов MainMenu. Если затем опять увеличить размер формы все восстанавливается. Как такое может быть? Когда я просто выводил текст в StatusBar такого не было. |
#2
|
||||
|
||||
![]() Возможно не отрабатывает ваше событие sbGraphicsInfoDrawPanel при изменении размеров формы. Попробуйте насильственно его вызывать в событии OnResize для формы.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |