关于网格对齐方式,简直要把我气晕了。 用StringGrid里面的网格竟然没有对齐方式,DBGrid 就可以。瞒以为下了个大名鼎鼎的AdvStringGrid,可是还是不行,简直是没有公理,天啊!。给我个解决办法先! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 自己写显示,在OnDrawCell事件中procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);beginStringGrid1.Canvas.TextRect(rect,0,0,StringGrid1.Cells[Acol,Arow]);StringGrid1.Canvas.Textout(rect.Left,rect.Top,StringGrid1.Cells[Acol,Arow]);//左对齐,其他雷同end; 你也可以参照DBGrds单元里的WriteText函数,不能发长的留言,帖一点 if (ACanvas.CanvasOrientation = coRightToLeft) and (not ARightToLeft) then ChangeBiDiModeAlignment(Alignment); case Alignment of taLeftJustify: Left := ARect.Left + DX; taRightJustify: Left := ARect.Right - ACanvas.TextWidth(Text) - 3; else { taCenter } Left := ARect.Left + (ARect.Right - ARect.Left) shr 1 - (ACanvas.TextWidth(Text) shr 1); end; 求助,一个简单的问题 在Dll中调用ocx出错 关于EOT文件! 关于Combobox的问题! 100分急求,C语言代码转换为Pascal代码? 求一个任意日期加上60天后得出年、月、日的算法 俄罗斯方块 DBGRIDEH做凭证控件,如何总让它显示多行表格线? 难道真的没有人能够回答我这个问题吗? 怎样让memo中的字体实现不同的颜色啊!(想了好久啦。。。) 一个无奈的问题. 怎样做不规则窗体?急急急!!!
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
StringGrid1.Canvas.TextRect(rect,0,0,StringGrid1.Cells[Acol,Arow]);
StringGrid1.Canvas.Textout(rect.Left,rect.Top,StringGrid1.Cells[Acol,Arow]);//左对齐,其他雷同
end;
if (ACanvas.CanvasOrientation = coRightToLeft) and (not ARightToLeft) then
ChangeBiDiModeAlignment(Alignment);
case Alignment of
taLeftJustify:
Left := ARect.Left + DX;
taRightJustify:
Left := ARect.Right - ACanvas.TextWidth(Text) - 3;
else { taCenter }
Left := ARect.Left + (ARect.Right - ARect.Left) shr 1
- (ACanvas.TextWidth(Text) shr 1);
end;