改变行高:
在OnGetCellParams事件里
//改变高使适应字体高度,你可以改成你自己想要的高度
if TStringgrid(dbgrid1).RowHeights[dbgrid1.DataSource.DataSet.RecNo]<ABS(afont.Height) then
TStringgrid(dbgrid1).RowHeights[dbgrid1.DataSource.DataSet.RecNo]:=ABS(afont.Height)+3;
数据垂直居中、居上、居下:
要修改dbgrideh.pas,
找到procedure WriteTextEh(..........过程
在里面找到:
ACanvas.TextRect(ARect, Left, ARect.Top + DY, Text);
这是单行文本时在里写文字的语句,是顶端对齐的,如果要居中,改成
ACanvas.TextRect(ARect, Left, (((arect.Bottom-arect.Top)-ABS(Acanvas.Font.Height))div 2)+Arect.Top+ DY, Text);
由于dbgrideh不提供垂直对齐的属性,或者你自己添加一个,偷懒一点可以用tag属性来判断。
在OnGetCellParams事件里
//改变高使适应字体高度,你可以改成你自己想要的高度
if TStringgrid(dbgrid1).RowHeights[dbgrid1.DataSource.DataSet.RecNo]<ABS(afont.Height) then
TStringgrid(dbgrid1).RowHeights[dbgrid1.DataSource.DataSet.RecNo]:=ABS(afont.Height)+3;
数据垂直居中、居上、居下:
要修改dbgrideh.pas,
找到procedure WriteTextEh(..........过程
在里面找到:
ACanvas.TextRect(ARect, Left, ARect.Top + DY, Text);
这是单行文本时在里写文字的语句,是顶端对齐的,如果要居中,改成
ACanvas.TextRect(ARect, Left, (((arect.Bottom-arect.Top)-ABS(Acanvas.Font.Height))div 2)+Arect.Top+ DY, Text);
由于dbgrideh不提供垂直对齐的属性,或者你自己添加一个,偷懒一点可以用tag属性来判断。