300 分 下面的代码是可行的,我的目的可以达到。问题是:在 DBGrid1 单击右键,点Columns Editor... 项,按 Add All Field

  • 主题发起人 主题发起人 slxiao112
  • 开始时间 开始时间
S

slxiao112

Unregistered / Unconfirmed
GUEST, unregistred user!
300 分 下面的代码是可行的,我的目的可以达到。问题是:在 DBGrid1 单击右键,点Columns Editor... 项,按 Add All Fields 按钮后执行工程,发现onDrawDataCell 事件没有执行,我该怎么办? (5分)<br />300 分
下面的代码是可行的,我的目的可以达到。
问题是:在 DBGrid1 单击右键,点Columns Editor... 项,按 Add All Fields 按钮后执行工程,
发现onDrawDataCell 事件没有执行,我该怎么办?
大虾门:请到我的其他问题里取分
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject;
const Rect: TRect;
Field: TField;
State: TGridDrawState);
var
s:string;
x,l2, l1,l,i:integer;
begin
dbgrid1.Canvas.FillRect(rect);
dbgrid1.Canvas.Font.Color :=clred;
s:=field.Text ;
l:=length(s);
if l=0 then
exit;
l1:=rect.Right -rect.Left ;
l2:=l1 div l;
x:=0;
for i:=0 to l-1 do
begin
x:=l2*i;
dbgrid1.Canvas.TextOut(rect.left+x,rect.top,s[i+1]);
end;
end;

http://www.delphibbs.com/delphibbs/dispq.asp?lid=1092469
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1144892
 
给你贴出来了,你看看吧,没找到刚才你的另一个帖子,就在这里贴出来吧。
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect;
DataCol: Integer;
Column: TColumn;
State: TGridDrawState);
var
s:string;
x,l2, l1,l,i:integer;
begin
dbgrid1.Canvas.FillRect(rect);
dbgrid1.Canvas.Font.Color :=clred;
s:=Column.Field.AsString;
l:=length(s);
if l=0 then
exit;
l1:=rect.Right -rect.Left ;
l2:=l1 div l;
x:=0;
for i:=0 to l-1 do
begin
x:=l2*i;
dbgrid1.Canvas.TextOut(rect.left+x,rect.top,s[i+1]);
end;
end;

 
to yshshi:
谢谢。[:)][:)]
请到我的其他帖子里取分
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1092469
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1144892
 
接受答案了.
 
呵呵,不去了,这些足够了。。。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部