TAdvStringGrid Editor vertical alignment

With OnGetAlignment I was able to align displayed text in the vertical and horizontal center but when
the cell enters in Editor (edNormal) the data entry is not vertically aligned on cell.

How to align it to reflect display value non in edit?

procedure TWorkCoordinatesFrame.CoordinateSystemsGridGetAlignment(Sender: TObject; ARow, ACol: Integer; var HAlign: TAlignment; var VAlign: TVAlignment);
begin
  HAlign := taCenter;
  VAlign := vtaCenter;
end;

It needs to be set via the grid.VAlignment property.

procedure TForm1.AdvStringGrid1GetAlignment(Sender: TObject; ARow,
  ACol: Integer; var HAlign: TAlignment; var VAlign: TVAlignment);
begin
  HAlign := taCenter;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  advstringgrid1.WordWrap := false;
  advstringgrid1.Options := advstringgrid1.Options + [goEditing];
  advstringgrid1.VAlignment := vtaCenter;
  advstringgrid1.Cells[1,1] := 'test';
end;

Example on a default grid:
gridvalignment

I've missed this property in property list :)

Thank you so much Bruno.
Exceptional product support, as always.

1 Like