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

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

Hint в DBgrid [D6, Paradox]


FREEMAN ©   (2003-08-15 12:15:00) 

Доброго всем времени суток, Мастера!!!
У меня возникла одна проблема, как показать хинт для любой ячейки DBGrid"a при наведении на нее (ячейку) указателя мыши.
Если можно пример с путевым объяснением. Заранее благодарен!


roottim   (2003-08-15 15:37:00) [1]

http://www.farpost.ru/personal/dmitryb/RUS/default.htm


Johnmen   (2003-08-15 14:38:00) [2]

В инете, как обычно...:)
А ToolTip - это свойство...


FREEMAN   (2003-08-15 14:19:00) [3]

Большое спасибо!!! А где можно достать EhLib ToolTip?


FREEMAN   (2003-08-15 14:19:00) [4]

Большое спасибо!!! А где можно достать EhLib ToolTip?


roottim   (2003-08-15 12:33:00) [5]

лишнее влезло...
а вообще в гриде Димки Большакова от EhLib ToolTip вроде организован... какой смысл в велосипеде?
procedure TForm1.gr2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var call: TGridCoord;
vActiveRec: Integer;
begin
call := gr2.MouseCoord(X,Y);
if (call.Y > 0) and (call.X > 0) then
begin
vActiveRec := thdbgrid(gr2).DataLink.ActiveRecord;
thdbgrid(gr2).DataLink.ActiveRecord := call.Y - 1;
caption := thdbgrid(gr2).DataLink.Fields[call.X - 1].DisplayText;
thdbgrid(gr2).DataLink.ActiveRecord := vActiveRec;
end;


roottim   (2003-08-15 12:27:00) [6]

примерно так
type
THdbgrid = CLASS (TDBGRID);


грид назавем gr2
а это его обработчик на мышку
только вместо вывода в заголовок делашь хинт...

procedure TForm1.gr2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var call: TGridCoord;
vActiveRec: Integer;
begin
call := gr2.MouseCoord(X,Y);
Caption := Format("ROW: %d COL: %d ActiveRec: %d BufCount: %d RecCount: %d" , [call.Y, call.X, thdbgrid(gr2).DataLink.ActiveRecord,
thdbgrid(gr2).DataLink.BufferCount, thdbgrid(gr2).DataLink.RecordCount]);

if (call.Y > 0) and (call.X > 0) then
begin
vActiveRec := thdbgrid(gr2).DataLink.ActiveRecord;
thdbgrid(gr2).DataLink.ActiveRecord := call.Y - 1;
caption := thdbgrid(gr2).DataLink.Fields[call.X - 1].DisplayText;
thdbgrid(gr2).DataLink.ActiveRecord := vActiveRec;
end;


Наверх

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