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

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

ячейка DBGrid а [D2]


ds ©   (2002-12-03 13:27:00) 

Как в DBGrid"е узнать над каким полем(колонкой) висит мышь?
Заранее спасибо.


Бурундук   (2002-12-03 16:47:00) [1]

...
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;


ds   (2002-12-03 15:34:00) [2]

> stone ©
Логично...


stone   (2002-12-03 15:32:00) [3]

2 ds (03.12.02 15:17)

DBGrid.Columns[Cell.X-1].Field.Text;

вернет значение поля из записи в датасете на которой установлен курсор датасета, а не значение ячейки над которой находится курсор мыши


ds   (2002-12-03 15:17:00) [4]

> stone
если имеется ввиду значение поля, то
DBGrid.Columns[Cell.X-1].Field.Text;
только нужно проверить допустимость значения Cell.X

----

А как можно узнать координаты области ячейки DBGrid"а?


stone   (2002-12-03 15:03:00) [5]

2 Бурундук (03.12.02 14:24)

в продолжение темы.
А как таким образом получить значение данной ячейки?


ds   (2002-12-03 14:32:00) [6]

Спасибо!


Бурундук   (2002-12-03 14:24:00) [7]

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;


Skier   (2002-12-03 14:23:00) [8]

>ds
см. TDBGrid.OnMouseMove(...) и
TDBGrid.MouseCoord(...)


ds   (2002-12-03 13:42:00) [9]

>ЮЮ
Я имел ввиду где она висит в отдельно взятый момент движения.


ЮЮ   (2002-12-03 13:36:00) [10]

В стандартных Gridах можно узнать только над какой ячейкой движется или над какой ячейкой нажали/отпустили мышь, а вот где висит?


Наверх

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