Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Hint для DrawGrid [D5, Win95/98, WinXP]


Евгений Р. ©   (2006-03-13 23:55:00) 

Как сделать hint для DrawGrid индивидуально для каждой ячейки?


Leonid Troyanovsky   (2006-03-14 18:54:00) [1]


> Евгений Р.   (13.03.06 23:55)

> Как сделать hint для DrawGrid индивидуально для каждой ячейки?


Для демонстрации подхода only

{ShowHint = True}

type
TDBGridEx = class(TDBGrid);

procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
var
GridCoord                   : TGridCoord;
OldActiveRecord             : Integer;
begin
with TDBGridEx(Sender) do
begin
  GridCoord := MouseCoord(HitTest.X, HitTest.Y);
  if (GridCoord.X >= FixedCols)
    and (GridCoord.Y >= FixedRows) then
  begin
    if (GridCoord.Y <> OldRowIndex) or (GridCoord.X <> OldColIndex) then
    begin
      Application.CancelHint;
      OldActiveRecord := DataLink.ActiveRecord;
      try
        DataLink.ActiveRecord := GridCoord.Y - FixedRows;
        Hint := DataLink.Fields[GridCoord.X-FixedCols].AsString;
      finally
        DataLink.ActiveRecord := OldActiveRecord;
      end;
      OldRowIndex := GridCoord.Y;
      OldColIndex := GridCoord.X;
    end;
  end
  else
    Application.CancelHint;
end;
end;

--
Regards, LVT.

ЗЫ Кстати, никто не научит, как можно искать что-то в здешнем архиве. Можно на почту.


Евгений Р.   (2006-03-14 12:52:00) [2]

Спасибо!


Кашперук Иван   (2006-03-14 11:40:00) [3]

Это для StringGrid, но думаю там все станет понятно

http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988624705&n=16


Наверх

Титульная страница Поиск, карта сайта Написать письмо