![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Нужна функция раскраски ячейки (фон и шрифт) в зависимости от переданных параметров.
Код ниже раскрашивает, но при выделении мышкой возвращается стандартное оформление. Как сделать, чтобы раскраска оставалась при любых манипуляциях? 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; Спасибо. Последний раз редактировалось kossr, 05.04.2013 в 17:05. |