如何用stringgrid实现第一行标题的竖排显示呀,(100分)

  • 主题发起人 主题发起人 wuheng66888
  • 开始时间 开始时间
W

wuheng66888

Unregistered / Unconfirmed
GUEST, unregistred user!
如何用stringgrid实现第一行标题的竖排显示呀,
 
不知道你在程序中加个 #13 可以否?
 
自画,把你的标题行高设置到合适的高度,然后在DrawCell事件里写
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
x,y,i,h: integer;
grd: TStringGrid;
bt,bt1: string;
begin
if ACol + ARow <> 0 then Exit;
grd := Sender as TStringGrid;
bt := grd.cells[ACol, ARow];
if trim(bt) = '' then exit;
h := grd.Canvas.TextHeight(bt);
i := 1;
x := rect.Left + 5;
y := rect.Top + 2;
grd.Canvas.Brush.Color := clBtnface;
grd.Canvas.FillRect(Rect);
while i <= length(bt) do
begin
bt1 := copy(bt, i, 2);
grd.Canvas.TextOut(x,y, bt1);
i := i + 2;
y := y + h;
end;
end;
 
#13 好象不行,只有自己画了,DrawText也可以
 
多人接受答案了。
 
后退
顶部