Тема: DBGrid и Hint
Показать сообщение отдельно
  #5  
Старый 08.09.2011, 11:51
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Вот такой еще вариант:
Код:
procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
Var
  CellXY: TGridCoord;
  RecNo: Integer;
begin
 CellXY := DBGrid1.MouseCoord(X, Y);
 DBGrid1.DataSource.DataSet.DisableControls;
 RecNo := DBGrid1.DataSource.DataSet.RecNo;
 DBGrid1.DataSource.DataSet.MoveBy(CellXY.Y - DBGrid1.DataSource.DataSet.RecNo);
 if CellXY.X > 0
 then begin
      DBGrid1.Hint := DBGrid1.Columns[CellXY.X - 1].Field.DisplayText;
      Application.ActivateHint(DBGrid1.ClientToScreen(Point(X,Y)));
      end;
 DBGrid1.DataSource.DataSet.RecNo := RecNo;
 DBGrid1.DataSource.DataSet.EnableControls;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 DBGrid1.DoubleBuffered := True;
end;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием