DBGrid1MouseMove, nad jaką komórką znajduje się kursor myszy

0

W jaki sposób odczytać dane w komórce w DBGrid, znajdującej się pod kursorem myszy w trakcie przesuwania jego nad DBGrid`em.
Czasem w komórce nie mieszczą mi się dane i wtedy chciał bym aby po najechaniu kursorem na tą komórkę cała zawartość mogła być pokazana w użytkownikowi (gdzie to już później zdecyduję).

0

W StringGridzie robi sie to tak:

Var
XCol, XRow: Integer;
begin
Grid.MouseToCell(X, Y, XCol, XRow);
end;

ale DBGrid tylko wyświetla dane a nie ładuje więc po odczytaniu numeru wiersza i kolumny będziesz musiał odpowiednio ustaić kursor w dataset i z tamtąd pobrać dane

0

Dzięki co prawda w DBgrid nie ma MouseToCell ale ale poszedłem tym torem i mam

uses
  Windows, Messages, ... ;
type TMojDBGrid = class(TDBGrid);
...

procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  gc: TGridCoord;
begin
  gc:= DBGrid1.MouseCoord(x, y);
  if (gc.X > 0) AND (gc.Y > 0) then
  begin
    DBGrid1.DataSource.DataSet.MoveBy(gc.Y - TMojDBGrid(DBGrid1).Row);
    DBGrid1.SelectedIndex:=gc.X-1 ;
    label1.caption := DBGrid1.Fields[gc.X-1].AsString  ;
  end;
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1