小小技术问题,请那位高手予以答复!(50分)

  • 主题发起人 主题发起人 福利彩票
  • 开始时间 开始时间

福利彩票

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样控制 TStringGrid 中指定列的 对齐 问题?
比如在 TDBGrid 中有 列的 BiDiMode 属性。
谢谢了,在线等候!
 
是不是觉得太简单了?可我真是没办法了呀!
帮个忙吧!
 
TStringGrid不也有BiDiMode吗?
 
BiDiMode 这个属性不是列的,是控件的。
在本地化是才有用。

在控制 StringGrid某列的对齐可以在 OnDrawCell中自己实现。
 
to :jsxjd
我在使用stringGrid时,总是前两列或三列左对齐,后面的列就右对齐了,
我也没有对其进行控制。现在我就是想指定某列向右或左对齐,在窗口一建立就这样显示。
请教怎样做到?
 
在OnDrawCell,以下为右对齐代码
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
l_Left, l_Top: Integer;
begin
l_Left := (StringGrid1.Colwidths[ACol] - StringGrid1.Canvas.Textwidth(StringGrid1.Cells[ACol, ARow]) - 2); //右对齐
l_Top := (StringGrid1.Rowheights[ARow] - StringGrid1.Canvas.Textheight(StringGrid1.Cells[ACol, ARow])) div 2;
StringGrid1.Canvas.Textrect(Rect, Rect.Left + l_Left, Rect.Top + l_Top, StringGrid1.Cells[ACol, ARow]);
end;
 
后退
顶部