На главную
Подписка
Новости


Рейтинг@Mail.ru











Главная / DELPHI / Часто задаваемые вопросы и ответы на них / Компоненты / Как в TDBGrid узнать над каким полем висит мышь Сделать домашней страницей Добавить в избранное Написать писмо

Как в TDBGrid узнать над каким полем висит мышь


Автор: Бурундук

Лежат как то системщик с подругою в постели, вот только что у них всё закончилось ... Она его ласково так спрашивает:
- Милый, Save of changes, Yes or Not?


var
  ScrPt, GrdPt: TPoint;
  Cell: TGridCoord;
begin
  ScrPt := Mouse.CursorPos;
  GrdPt := DBGrid.ScreenToClient(ScrPt);
  Cell := DBGrid.MouseCoord(GrdPt.X, GrdPt.Y);
  // Col := Cell.X;
  // Row := Cell.Y;
end;


 ...
 FieldText: string;
 DLink: TDataLink;
 OldActiveRec: Integer;
 ... 
 Cell := DBGrid.MouseCoord(GrdPt.X, GrdPt.Y);
 FieldText := '';   
 DLink := THackDBGrid(DBGrid).DataLink;
 if Assigned(DLink) then
 begin
   if (Cell.X < = 0)or(Cell.Y < = 0) then Exit;
   OldActiveRec := DLink.ActiveRecord;
   try
     DLink.ActiveRecord := Cell.Y-1{TitleOffset};
     FieldText := DBGrid.Columns[Cell.X-1{IndicatorOffset}].Field.Text;
   finally
     DLink.ActiveRecord := OldActiveRec;
   end;
 end;


Copyright ©   "DELPHI WORLD"   E-mail:   delphiworld@mail.ru  http://www.delphiworld.narod.ru
Источник получения информации: http://www.delphiworld.narod.ru
Hosted by uCoz