Тема: TDrawGrid
Показать сообщение отдельно
  #5  
Старый 09.03.2013, 16:47
lostbananan lostbananan вне форума
Начинающий
 
Регистрация: 05.01.2013
Сообщения: 119
Репутация: 10
По умолчанию

Как это можно сократить?
и как залить ячейку?
Написал такой код:
Код:
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var s : String;
begin
  case TDrawGrid(Sender).tag of
    1:  begin
          Grid[0].Canvas.Brush.Color := clRed;
При этом заливается фон под текстом а не вся ячейка.
Как залить всю ячейку?
Как залить всю ячейку нрашел:
Код:
Grid[0].Canvas.Brush.Color := clRed;
Grid[0].Canvas.FillRect(Rect);
Буду благодарен за подсказку по скоращению приведенного кода, но, самое главное - почему данный код вызывает ошибку времени исполнения??
И ещзе один вопрос : нужен оператор выбора, но оператор выбора не работает с дробными числами... Как привести Real в Integr или как "обмануть" оператор case?
Ответить с цитированием