//参考
type
  TForm1 = class(TForm)
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    Table1: TTable;
    procedure DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
  private
    { Private declarations }
    FGridCoord: TGridCoord;
    FMousePoint: TPoint;
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  vGridCoord: TGridCoord;
begin
  vGridCoord := TDBGrid(Sender).MouseCoord(X, Y);
  if (FGridCoord.X = vGridCoord.X) and (FGridCoord.Y = vGridCoord.Y) then Exit;
  FMousePoint := Point(X, Y);
  FGridCoord := vGridCoord;
  TDBGrid(Sender).Refresh;
end;procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  vGridCoord: TGridCoord;
begin
  vGridCoord := TDBGrid(Sender).MouseCoord(Rect.Left, Rect.Top);
  if (FGridCoord.X = vGridCoord.X) and (FGridCoord.Y = vGridCoord.Y) then
    Caption := Column.Field.DisplayText;
end;