У меня проблема в Delphi 10.1 в приложении с несколькими устройствами (в Windows). У меня есть StringGrid
(подключен к db), и я могу изменить цвет фона строки, но проблема в том, что между ячейками есть «прокладка» (в сером/серебристом).Fmx TStringGrid цвет строки
В onformCreate
я определяю:
stringgrid1.DefaultDrawing := False;
Это мой код:
procedure Tlist_form.StringGrid1DrawColumnCell(Sender: TObject;
const Canvas: TCanvas; const Column: TColumn; const Bounds: TRectF;
const Row: Integer; const Value: TValue; const State: TGridDrawStates);
var aRowColor: TBrush;
begin
aRowColor := Tbrush.Create(TBrushKind.Solid,TAlphaColors.Alpha);
if (stringgrid1.Cells[7,row]='1') then
aRowColor.Color := TAlphaColors.Green
else
aRowColor.Color := TAlphaColors.Red;
Canvas.FillRect(Bounds, 0, 0, [], 1, aRowColor);
Column.DefaultDrawCell(Canvas, Bounds, Row, Value, State);
aRowColor.free;
end;
В Delphi 6 Я никогда не имел эту проблему, и я не знаю, как исправить это, , Спасибо.
он говорит: «Типы E2033 фактических и формальных параметров вар должны быть идентичными» на "InflateRect (aNewRectF, 3, 3); – Rube
Хммм ... Это скомпилировано для меня. Doublecheck, который вы объявили 'aNewRectF' как' TRectF' (заканчивающийся на 'F'), а также попробуйте написать константы в виде float, так как 3.0 –
yep - aNewRectF и TRectF, попытались изменить значение, используя float, используя const, но у меня есть (и курсор идет сразу после первого параметра InflateRect (aNewRectF, 3,3) – Rube