我是这么做的:
procedure TFrmMain.StrGridTestMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
var
    Arow,Acol:longint;
    MyRect: TGridRect;
    MyPoint:TPoint;
begin
    StrGridTest.MouseToCell(X,Y,Acol,Arow);
    MyRect:=StrGridTest.Selection ;
    MyPoint.x :=X;
    MyPoint.y :=Y;
    MyPoint:=StrGridTest.ClientToScreen(MyPoint);
    if (Arow>=0) then
    begin
        MyRect.Left :=0;
        MyRect.Top :=Arow;
        MyRect.Right :=1;
        MyRect.Bottom :=Arow;
        StrGridTest.Selection :=MyRect;
        StrGridTest.Hint :=StrGridTest.Cells[0,Arow];
        Application.ActivateHint(MyPoint);
    end;
end;