delphi7 的dbgrid控件 DrawColumnCell事件的 rect参数是什么意思,该怎么处理

delphi7 的dbgrid控件 DrawColumnCell事件的 rect参数是什么意思
我用这个事件想在dbgrid的表格下方显示另一个dbgrid。在网上看到了相关代码里面有用rect这个参数的,但是我用的时候第二个dbgrid总是在表格的下方左右跳个不停。就是每一列下面都出现一次。想不明白。请高手指点指点……

------解决方案--------------------
rect就是单元格的矩形,TRect,左上角坐标,和右下角坐标,相对dbgrid而言。第二个dbgrid总是在表格的下方左右跳个不停”,是因为你对Draw事件不太了解,Draw一般只要窗体或控件重画,就会触发。你要加一定的判断,在什么时候重画,什么时候不重画,跳动问题就解决了。
------解决方案--------------------
example:


Delphi(Pascal) code
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
 DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
 with TMyDBGrid(Sender) do
 begin
   if DataLink.ActiveRecord=Row-1 then
   begin
     Canvas.Font.Color:=clWhite;
     Canvas.Brush.Color:=$00800040;
   end
   else
   begin
     Canvas.Brush.Color:=Color;
     Canvas.Font.Color:=Font.Color;
   end;
   DefaultDrawColumnCell(Rect,DataCol,Column,State);
 end;
end;