Einzelnen Beitrag anzeigen

Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#5
  Alt 21. Feb 2003, 08:09
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;
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat