Delphi startet ja schon... Folgender Code ist fast 1:1 copy&paste, aber es sollte Dir zeigen, wie es geht.
Du must die Eigenschaft
ShowHint des Grids auf True setzen (ParentShowHint wird automatisch False).
Die Form-Variable
FLastFragmentEntry merkt sich die letzte Zeile des aktuellen Hints, damit der Hint nicht so flackert. Unter Umständen musst Du auch noch die Spalten abfangen, falls Du die separat "hinten" möchtest. - Der Code ist nur zeilenweise.
Delphi-Quellcode:
procedure TfrmMain.grdFragmentsMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
var
Col, Row: Integer;
FileName, FolderName, Fragments, Cluster: string;
begin
grdFragments.MouseToCell(X, Y, Col, Row);
if FLastFragmentEntry = Cardinal(Row) then
Exit;
FLastFragmentEntry := Row;
// //kopfzeile zeigt keinen hint
if Row > 0 then
begin
FileName := grdFragments.Cells[0, Row];
FolderName := grdFragments.Cells[2, Row];
Cluster := grdFragments.Cells[1, Row];
Fragments := Fetch(Cluster, '/');
grdFragments.Hint := Format('Datei: %s'#13#10'Ordner: %s'#13#10 +
'Fragmente: %s'#13#10'Cluster: %s', [FileName, FolderName, Fragments,
Cluster]);
end else begin
grdFragments.Hint := '';
end;
Application.ActivateHint(grdFragments.ClientToScreen(Point(0, (Y div
grdFragments.DefaultRowHeight) * grdFragments.DefaultRowHeight)));
end;
...
...