使TStringGrid自适应宽度

王朝delphi·作者佚名  2006-01-09
宽屏版  字体: |||超大  

procedure AutoFitable(AGrids: TStringGrid);

//传入TStringGrid对像即可, 2004/10/28,CoolSlob

var

I, J: Integer;

MaxLenRow: Integer;

CurRowLen: Integer;

begin

inherited;

for J := 0 to AGrids.ColCount - 1 do

begin

MaxLenRow := 0;

for I := 1 to AGrids.RowCount - 1 do

begin

CurRowLen := AGrids.Canvas.TextWidth(Trim(AGrids.Cells[J, I]));

//自适应宽度时,当值的最大宽度小于标题宽时,以标题宽为准。

if AGrids.Canvas.TextWidth(Trim(AGrids.Cells[J, 0])) > CurRowLen then

CurRowLen := AGrids.Canvas.TextWidth(Trim(AGrids.Cells[J, 0]));

if CurRowLen > MaxLenRow then

begin

MaxLenRow := CurRowLen + 5;

AGrids.ColWidths[J] := MaxLenRow;

end;

end;

end;

end;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有