Показать сообщение отдельно
  #1  
Старый 22.05.2012, 11:48
Аватар для Amilman
Amilman Amilman вне форума
Новичок
 
Регистрация: 27.03.2011
Адрес: г.Кемерово
Сообщения: 98
Версия Delphi: XE
Репутация: 10
Вопрос Покраска ячеек в StringGriad под разные значения

Всем доброго времени суток.
Мне нужно покрасить ячейки в StringGriad под разные значения которые были заведомо занесены в БД я использую код такого вида:
Код:
procedure TCalendar_cadr.AdvStringGrid1DrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
  var
  txtWidth: Integer;
    begin
    if AdvStringGrid1.Cells[ACol,ARow] = DataModule1.ADOQuery12.FieldByName('Обозначение').AsString
    then  begin
    AdvStringGrid1.Canvas.Brush.Color := DataModule1.ADOQuery12.FieldByName('Цвет').AsInteger;
AdvStringGrid1.Canvas.FillRect (Rect);
AdvStringGrid1.Canvas.TextRect (Rect, Rect.Left + 2, Rect.Top + 2, AdvStringGrid1.Cells[ACol,ARow]);
  with (Sender as TStringGrid) do
  begin
    txtWidth := Canvas.TextWidth(Cells[ACol, ARow]);
    if ColWidths[ACol] < txtWidth then ColWidths[ACol] := txtWidth + 3;
  end;
    end;
    end;
Но этот код позволяет окрашивать только какое то одно значение, в тот момент когда мне нужно несколько разных.

И ещё вопрос.
Как в StringGrid сохранять значения ячеек чтобы открыл программу а там он уже был бы заполнен.

Заранее благодарен.
Ответить с цитированием