用SncCurrencyEdit控件,这个控件能实现这个功能。
解决方案 »
- 设定delphi快捷键
- dbgrideh 一列里面加图标,图标后面还有文字?
- mapx 雨量分布图 如何绘制? 中文mapx大家有吗? 图层动态如何更换?
- 怎么 在客户端备份 Sqlserver2000数据库?
- 怎样处理MIDAS中的问题: Windows socket error:远程主机强迫关闭了一个现有的连接
- TPrinter的问题
- 如何将字符串类型转成字符类型????????????????????????????????????????????????????????
- 用ADO怎样读取ACESS2000数据库中一个表中的字段的说明信息:(100分)
- 我要什么函数才能取得NT关机权限
- output
- 关于图形问题:
- 急急急 !!!!怎么在delphi中用UPDATE 语句将表里的某个字段的值更新为空呢?
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var R: TRect;
i,j: Integer;
begin
if Column.Index=0 then // 你要画的列
begin
i:=Column.Font.Size; // 每个字符的间隔
R:=Rect;
R.Left:=R.Left;
R.Top:=R.Top;
R.Right:=R.Right;
R.Bottom:=R.Bottom;
For j:=1 to (R.Right-R.Left) div i do
begin
DBGrid1.Canvas.Pen.Color:=clBlue; // 兰色线条
DBGrid1.Canvas.MoveTo(R.Right-j*i,R.Bottom-1);
DBGrid1.Canvas.LineTo(R.Right-j*i,R.Top-1);
end;
end;
end;你试试吧。
这个上面下个会计软件的源码,上面就有这个控件
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var R: TRect;
i,j: Integer;
begin
if Column.Index=0 then // 你要画的列
begin
i:=Column.Font.Size; // 每个字符的间隔
R:=Rect;
For j:=1 to (R.Right-R.Left) div i do
begin
DBGrid1.Canvas.Pen.Color:=clBlue; // 兰色线条
DBGrid1.Canvas.MoveTo(R.Right-j*i,R.Bottom-1);
DBGrid1.Canvas.LineTo(R.Right-j*i,R.Top-1);
end;
end;
end;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var R: TRect;
i,j: Integer;
begin
if Column.Index=0 then // 你要画的列
begin
i:=Column.Font.Size; // 每个字符的间隔
R:=Rect;
For j:=1 to (R.Right-R.Left) div i do
begin
DBGrid1.Canvas.Pen.Color:=clBlue; // 兰色线条
DBGrid1.Canvas.MoveTo(R.Right-j*i,R.Bottom-1);
DBGrid1.Canvas.LineTo(R.Right-j*i,R.Top-1);
end;
end;
end;如果显示不对就调整 i:=Column.Font.Size 的大小
和R.Right-j*i的起始位置。
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var R: TRect;
i,j: Integer;
S: String;
begin
if Column.Index=0 then
begin
i:=Column.Font.Size;
S:=DBGrid1.DataSource.DataSet.FieldByName(Column.FieldName).asString;
R:=Rect;
DBGrid1.Canvas.Brush.Color:=clInfoBk;
DBGrid1.Canvas.FillRect(R);
DBGrid1.Canvas.Pen.Color:=clBlack;
DBGrid1.Canvas.MoveTo(R.Left-1,R.Bottom);
DBGrid1.Canvas.LineTo(R.Left-1,R.Top-1);
DBGrid1.Canvas.LineTo(R.Right,R.Top-1);
DBGrid1.Canvas.LineTo(R.Right,R.Bottom);
DBGrid1.Canvas.LineTo(R.Left-1,R.Bottom);
For j:=1 to (R.Right-R.Left) div i do
begin
DBGrid1.Canvas.Pen.Color:=clBlue;
DBGrid1.Canvas.MoveTo(R.Right-j*i,R.Bottom-1);
DBGrid1.Canvas.LineTo(R.Right-j*i,R.Top-1);
if j<=Length(S) then DBGrid1.Canvas.TextOut(R.Right-j*i+2,R.Top+2,S[Length(S)-j+1]);
end;
end;
end;