FillRect
non dipinge la cella TStringGrid
completa in Delphi XE2. C'è una distanza di 3 pixel sul lato sinistro nel colore predefinito (con BiDiMode
impostato su bdLeftToRight
). Questo problema non esiste in Delphi 6 che ho usato prima.FillRect non dipinge la cella TStringGrid completa in Delphi XE2
procedure TShapeline.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
Stringgrid1.Canvas.Brush.Color:=$00FF80FF;
StringGrid1.Canvas.FillRect(Rect);
end;
Ho provato a cambiare tutte le proprietà (compreso il) e diversi stili di pennello, il rettangolo dipinto non riempie la cellula completa.
Cosa succede se OP desidera le linee della griglia? –
Quindi la mia risposta probabilmente non aiuterà, ma il semplice spegnimento delle linee fisse sembra essere d'aiuto. –
@Bruce, la correzione è corretta per XE ma non XE2. C'è letteralmente il codice in TStringGrid.DrawCell che fa ARect.Left: = ARect.Left + 4 se DefaultDrawing è true e StyleServices sono abilitati. –