Показать сообщение отдельно
  #1  
Старый 05.04.2013, 16:51
kossr kossr вне форума
Прохожий
 
Регистрация: 05.04.2013
Сообщения: 6
Версия Delphi: xe3
Репутация: 10
Смущение раскраска stringgrid. Снова

Нужна функция раскраски ячейки (фон и шрифт) в зависимости от переданных параметров.
Код ниже раскрашивает, но при выделении мышкой возвращается стандартное оформление.
Как сделать, чтобы раскраска оставалась при любых манипуляциях?
OnDrawCell использовать только чтобы сохранять раскраску.

Код:
procedure ColorGrid(Grid:TStringGrid;ACol,ARow:Integer;Alive:Boolean;Exp:Integer);
var
Rect:TRect;
begin
     rect:=Grid.CellRect(ACol,ARow);

     case Exp of
     -1:  Grid.Canvas.Font.Color:=RGB(255,0,0);//min
     0: Grid.Canvas.Font.Color:=RGB(0,0,0);//avg
     1: Grid.Canvas.Font.Color:=RGB(0,255,0);//max
     end;
     Grid.Canvas.TextRect(rect,5,5,Grid.Cells[ACol,ARow]);//text color

     case Alive of
     false: Grid.Canvas.Brush.Color:=RGB(255,153,153);//cell color
     true:  Grid.Canvas.Brush.Color:=RGB(0,255,179);
     end;
     Grid.Canvas.FillRect(rect);
     Grid.Canvas.TextOut(Rect.Left+2, Rect.Top+2, Grid.Cells[ACol, ARow]);
end;

Спасибо.
Вложения
Тип файла: 7z Project1.7z (605.8 Кбайт, 3 просмотров)
Ответить с цитированием