Показать сообщение отдельно
  #1  
Старый 23.12.2009, 09:09
Alex_S_S Alex_S_S вне форума
Прохожий
 
Регистрация: 07.05.2009
Сообщения: 41
Репутация: 10
По умолчанию Прорисовка StatusBar

Всем доброго времени суток!
Столкнулся с такой проблемой, может кто поможет.
Мне нужно изменить цвет 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 такого не было.
Ответить с цитированием