Перейти к содержанию
Fire Monkey от А до Я

PandoraBoxes

Пользователи
  • Постов

    3
  • Зарегистрирован

  • Посещение

Активность репутации

  1. Like
    PandoraBoxes отреагировална Brovin Yaroslav в [Отклонение] Не перерисовываются границы в TGrid   
    В том же файле находим TCustomGrid.DrawAlternatingBackground (предположительно 2138 стрчока)
    procedure TCustomGrid.DrawAlternatingBackground(const DrawingContent: TControl; const Canvas: TCanvas); var I: Integer; P: TPointF; begin if TGridOption.AlternatingRowBackground in FOptions then for I := 0 to VisibleRows - 1 do begin if Odd(TopRow + I) then begin P := Content.LocalToAbsolute(PointF(0, (TopRow + I) * FRowHeight)); P := DrawingContent.AbsoluteToLocal(P); Canvas.FillRect(RectF(P.X, P.Y, P.X + Content.Width, P.Y + FRowHeight), 0, 0, [], AbsoluteOpacity, FOddFill); end; end;  Меняем 2150 строчку на:
    procedure TCustomGrid.DrawAlternatingBackground(const DrawingContent: TControl; const Canvas: TCanvas); var I: Integer; P: TPointF; begin if TGridOption.AlternatingRowBackground in FOptions then for I := 0 to VisibleRows - 1 do begin if Odd(TopRow + I) then begin P := Content.LocalToAbsolute(PointF(0, (TopRow + I) * FRowHeight)); P := DrawingContent.AbsoluteToLocal(P); Canvas.FillRect(RectF(P.X + ViewportPosition.X, P.Y, P.X + Content.Width + ViewportPosition.X, P.Y + FRowHeight), 0, 0, [], AbsoluteOpacity, FOddFill); // <-- добавляем смещение ViewportPosition end; end; end;
  2. Like
    PandoraBoxes отреагировална Brovin Yaroslav в [Отклонение] Не перерисовываются границы в TGrid   
    Добрый день,
     
    Ошибку завел в трекере. Временный Workaround:
    Открыть файл FMX.Grid.pas Найти TCustomGrid.DoContentPaint Предположительно 2292 строчка. Найти код:
    if TGridOption.RowLines in Options then begin W := Content.Width - 1; P := TPointF.Create(0, TopRow * FRowHeight); P := Content.LocalToAbsolute(P); P := TControl(Sender).AbsoluteToLocal(P); P.Offset(0.5, -0.5); for I := 0 to VisibleRows do // no -1 begin Canvas.DrawLine(P, PointF(P.X + W, P.Y), LAbsoluteOpacity); P.Offset(0, FRowHeight); end; end; Добавить после P.Offset(0.5, -0.5)
    P.X := P.X + ViewportPosition.X; Добавить исправленный файл в ваш проект.
×
×
  • Создать...