Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.03;
Скачать: CL | DM;

Вниз

Координаты ячейки в DBGrid, над которой находится мышь   Найти похожие ветки 

 
Andrew_   (2002-09-11 19:27) [0]

Господа! MouseCoord возвращает координаты видимой части DBGrid-а, т.е. если DBGrid проскроллирован вниз, то все строки, которые остались вверху не учитываются, а ячейки в первой видимой строке имеют координаты 1, а мне нужно знать их абсолютное значение, т.е. с начала ВСЕГО списка.
Использую DBGrid из библиотеки EhLib.
Спасибо


 
Val ©   (2002-09-11 19:33) [1]

можно узнать, какая этим преследуется цель?


 
BlackTiger   (2002-09-11 21:30) [2]

Не в тему: у тебя EhLib нормальный или eval? не дашь по-пользоваться :-). Мне их грид понравился очень (если не жалко скинь на ap@rd.lv).

По теме: сомневаюсь, что это получится без извратов, так как тебе нужно установить фокус на ячейку, над которой проходил мышь.
А вот дальше проще - узнай какая это колонка, какая запись по счету (из Table/Query) и перемнож их.


 
ЮЮ ©   (2002-09-12 03:27) [3]

>видимой части DBGrid

В DBGride нет невидимой части. Его DataLink содержит ровно столько записей, сколько может быть отражено в Gride, т.о. DBGrid показывает все записи DataLink-а


 
Andrew_   (2002-09-12 10:19) [4]

Так что, никто не знает?
В конечном итоге мне необходимо определить номер записи (RecNo), над которой находится указатель мыши не выбирая эту ячейку.


 
ЮЮ ©   (2002-09-12 10:25) [5]

А без RecNo подойдет? Может быть достаточно доступа ко всем полям той записи, которая в данный момент находится под мышью?


 
Andrew_   (2002-09-12 10:29) [6]

Может быть и достаточно, дело за малым, определить номер записи, над которой находится мышка.


 
ЮЮ ©   (2002-09-12 10:42) [7]

>дело за малым, определить номер записи, над которой находится мышка
Опять пресловутый номер записи. У DBGrida ровно столько записей, сколько можно вывести на экран.
1) TCustomGrid.MouseCoord
Returns the row and column indexes of the cell that contains a point specified in screen coordinates.
2) Зная строку, делаем как в DBGrid.DrawCell:
OldActive := DataLink.ActiveRecord;
try
Datalink.ActiveRecord := ARow;
<в этом месте мы имеем доступ к той самой записи>
finally
Datalink.ActiveRecord := OldActive;


 
Andrew_   (2002-09-12 14:16) [8]

Спасибо. Все получилось.



Страницы: 1 вся ветка

Текущий архив: 2002.10.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
7-8187
иван
2002-07-25 14:59
2002.10.03
Работа с файлом


1-8009
ghg
2002-09-21 17:00
2002.10.03
Не ставится компонент


14-8109
Abajun
2002-09-06 12:45
2002.10.03
Win2000 и win98 на одном компе


1-7941
Fog
2002-09-20 13:54
2002.10.03
Я пока еще ламо?


1-8032
Domt
2002-09-20 19:13
2002.10.03
Графики