Вниз
Скачать: CL | DM;

ячейка DBGrid а   Найти похожие ветки 

 
ds   (2002-12-03 13:27) [0]

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


 
ЮЮ ©   (2002-12-03 13:36) [1]

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


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

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


 
Skier ©   (2002-12-03 14:23) [3]

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


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

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;


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

Спасибо!


 
stone ©   (2002-12-03 15:03) [6]

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

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


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

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

----

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


 
stone ©   (2002-12-03 15:32) [8]

2 ds (03.12.02 15:17)

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

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


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

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


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

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



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

Скачать: CL | DM;



Память: 0.47 MB
Время: -0.971 c
1-61640
Checist [root]
2002-12-07 06:10
2002.12.19
Нужен дельный совет


14-61787
AL2002
2002-11-21 14:58
2002.12.19
---|Ветка была без названия|---


7-61852
3asys
2002-10-16 15:23
2002.12.19
Как программно запретить PrintScreen во время работы программы


1-61661
Balu
2002-12-06 17:35
2002.12.19
Разное поведение Variant в D5 и D6


14-61812
koks
2002-11-28 11:52
2002.12.19
Сети:




   Наверх