I have a requirement to stretch the width of the last column in a TElStringGrid to fill the remaining space in the control, and where necessary wrap text within the cell. Is this possible?
I have managed to trap the resize grid event and re-calculate the width of the last column successfully (see below), however I still want to allow the user to resize the other columns as well.
colWidth : integer;
i : integer;
if grid.HeaderSections.Count > 0 then begin
// set width of last column based on width of other columns and control width
colWidth := grid.ClientWidth;
for i := 0 to grid.HeaderSections.Count-2 do begin
Dec(colWidth, grid.HeaderSections[i].Width+3); // 3 = 1 for grid line, 2 for borders
grid.HeaderSections[grid.HeaderSections.Count-1].Width := colWidth-1;
Is this possible ? If so how ?
I'm using LMD ElPack 2019.12 with Delphi 10.3 RIO