RxDBGrid - хинт для ячейки
 Добавлено: 25.08.2016 13:49:17
Добавлено: 25.08.2016 13:49:17alexs
Можно добавить в RxDBGrid событие на показ хинта для ячейки, как это сделано в EhLib?
Часто в таблицах попадаются поля с кодами, расшифровка которых берется из БД.
Пробовал по старинке через MouseMove, но это полная фигня. Событие генерится слишком часто, а Grid.MouseToCell возвращает координаты ячейки даже если курсор вне пределов ячеек таблицы (внизу или справа где пустое пространство).
			Можно добавить в RxDBGrid событие на показ хинта для ячейки, как это сделано в EhLib?
Часто в таблицах попадаются поля с кодами, расшифровка которых берется из БД.
Пробовал по старинке через MouseMove, но это полная фигня. Событие генерится слишком часто, а Grid.MouseToCell возвращает координаты ячейки даже если курсор вне пределов ячеек таблицы (внизу или справа где пустое пространство).
- Код: Выделить всё
- type
 TMyGrid = class(TCustomDBGrid);
 procedure TFrmMain.GridMouseMove(Sender: TObject; Shift: TShiftState;
 X, Y: integer);
 var
 Grid: TRxDBGrid;
 row, col: integer;
 rec: integer;
 begin
 Grid := Sender as TRxDBGrid;
 Grid.MouseToCell(X, Y, col, row);
 if col > -1 then
 begin
 rec := TMyGrid(Grid).DataLink.ActiveRecord;
 try
 TMyGrid(Grid).DataLink.ActiveRecord := row;
 Grid.Hint := 'Content of field : ' + Grid.Columns[col].Field.AsString;
 Application.ActivateHint(Mouse.CursorPos);
 finally
 TMyGrid(Grid).DataLink.ActiveRecord := rec;
 end;
 end;
 end;