Как изменить цвет в ячейке StringGrid?
Такая проблема. Мне нужно сделать так, чтобы, скажем, по нажатию кнопки текст в определённой ячейке таблицы менял свой цвет. Отрисовывать canvas'ом не предлагайте, это не подходит для моих целей. Есть ли какая-нибудь функция для изменения цвета в клетке (типа StringGrid1.Cells[2,3].Font.Color:=clRed)? Ну, а если нет, то какой объект в Delphi позволяет такое осуществлять?
а чем тебе не нравится OnDrawCell?
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
Const
clPaleGreen = TColor($CCFFCC);
clPaleRed = TColor($CCCCFF);
begin
if (gdFocused in State) then begin
StringGrid1.Canvas.Brush.Color := clBlack;
StringGrid1.Canvas.Font.Color := clWhite;
end
else
if ACol = 2
then StringGrid1.Canvas.Brush.color := clPaleGreen
else StringGrid1.canvas.brush.Color := clPaleRed;
Вроде это выглядит так!
...это что? Как мне это поможет? Вроде бы можно изменять цвет текста в ячейках StringGrid, породив от таблицы собственный класс. Про это слышал кто-нибудь?
не понимаю что тебе в этом коде не нравится?!
можешь поискать информацию в статьях где-нибудь здесь
delphiworld.narod.ru
sources.ru
Там есть много полезной информации.
Цитата:
..Вроде бы можно изменять цвет текста в ячейках StringGrid, породив от таблицы собственный класс..
и в чём проблема.... порождай класс.. пиши процедуру которую тебе дали в новом классе и всё пучком....