Как изменить цвет определенной ячейки строки, используя 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, а также для TStringGrid
OnDrawColumnCell
событие.
Ниже приведен пример, который сохраняет цвет на черном, но устанавливает стиль шрифта на полужирный. Подсказка, добавьте 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.