Как изменить цвет определенной ячейки строки, используя Delphi XE7

Я использую Delphi XE7 для разработки приложений для Android. В этом я использовал компонент TStringGrid, а затем я использовал StringGrid.cells[0, 0] := 'Test'И как я могу изменить цвет шрифта той конкретной ячейки, которую я показал в коде. А также у меня есть этот пример кода, но я не могу изменить цвет шрифта конкретной ячейки. Пожалуйста, кто-нибудь объяснит мне, как изменить цвет шрифта конкретного значения ячейки. И я использую Delphi XE7, и я ориентируюсь на Android Mobile.

Спасибо..

3 ответа

Решение

Наконец-то я нашел решение, которое мне требовалось. Пожалуйста, следуйте инструкциям. Мы можем изменить цвет шрифта в самой TStringGrid, нет необходимости использовать TGrid. Пожалуйста, следуйте инструкциям ниже.

Сначала назначьте это в событии FormCreate:

  StringGrid1.DefaultDrawing := False;

затем напишите это в событии StringGrid DrawColumnCell:

  Canvas.fill.Color := TAlphaColorRec.Green;
  Canvas.FillText(Bounds, (Value.AsString),
    false, 100, [], TTextAlign.taLeading, TTextAlign.taCenter);

В FireMonkey TStringGrid нет опций для каждой ячейки. Вам нужно будет либо использовать сторонний элемент управления сеткой, либо сделать что-то самостоятельно из TGrid.

Вы можете найти много материалов о последних на моем сайте по http://monkeystyler.com/guide.

Работает в XE8, а также для TStringGridOnDrawColumnCell событие.

Ниже приведен пример, который сохраняет цвет на черном, но устанавливает стиль шрифта на полужирный. Подсказка, добавьте 2 пикселя отступа для шрифта от левого поля.

var Rect : TRectF;
begin
  Rect := Bounds;
  Rect.Left := Rect.Left + 2;
  Canvas.Font.Style := [TFontStyle.fsBold];
  Canvas.Fill.Color := TAlphaColorRec.Black;
  Canvas.FillText(Rect, (Value.AsString), false, 100, [], TTextAlign.taLeading, TTextAlign.taCenter);
end;

То, что я пропустил в начале, не устанавливало DefaultDrawing в false! После того, как я установил это, событие принимало изменения в Canvas.

Другие вопросы по тегам