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

Вниз

DBGrid.../MouseMove   Найти похожие ветки 

 
Nick   (2003-07-18 11:46) [0]

Добрый день местера!
Имеем следующий текст:
procedure TFGlav.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
ScrPt, GrdPt: TPoint;
Cell: TGridCoord;
begin
if not (Sender is TDBGrid) then exit;
ScrPt := Mouse.CursorPos;
GrdPt := (Sender as TDBGrid).ScreenToClient(ScrPt);
Cell := (Sender as TDBGrid).MouseCoord(GrdPt.X, GrdPt.Y);
if Cell.Y = 0 then
begin
(Sender as TDBGrid).Hint:=(Sender as TDBGrid).Columns[Cell.X - 1].Title.Caption;
If (Sender as TDBGrid).Hint="Название организации" then begin
(Sender as TDBGrid).Hint := "Сортировка";
(Sender as TDBGrid).ShowHint := true;
end
else If (Sender as TDBGrid).Hint="Котактное лицо" then begin
(Sender as TDBGrid).Hint := "Сортировка" ;
(Sender as TDBGrid).ShowHint := true;
end
else If ((Sender as TDBGrid).Hint="Город") or ((Sender as TDBGrid).Hint="Адрес") or ((Sender as TDBGrid).Hint="Телефон")
then begin
(Sender as TDBGrid).Hint :="";
(Sender as TDBGrid).ShowHint := False;
end
end else begin
(Sender as TDBGrid).Hint :="";
(Sender as TDBGrid).ShowHint := False;
end;
end;
Так вот при наведении курсора мыши на левый верхний угол DBGrid-а, получаем сообщение: " List index out of bounds (-1)".
Как проверить координаты верхнего левого угла?
Спасибо!


 
ЮЮ ©   (2003-07-18 12:05) [1]

Columns[ Cell.X - 1].Title.Caption;

Самый левый, это где состояние записи рисуется


 
Nick   (2003-07-18 12:24) [2]

Самый левый, это левее заголовка первого столбца!


 
ЮЮ ©   (2003-07-18 12:27) [3]

Вот именно. И что ты там хочешь писать, если для него нет Columns? В этом месте ты получаешь Columns[- 1].Title.Caption;


 
Nick   (2003-07-18 12:48) [4]

Я там ни чего писать ни хочу! Я хочу, чтоб при наведении мыши в ту область не вылазило сообщение: "List index out of bounds (-1)"! Как это сделать?
ВЫ, понимаете про, что я толкую?


 
ЮЮ ©   (2003-07-18 12:51) [5]

Мы то понимаем, а никак не хочешь :-)
if (Cell.Y = 0) and (Cell.X > 0) then


 
Nick   (2003-07-18 12:55) [6]

По мойму мы друг друга поняли!
Спасибо за помощь!


 
ЮЮ ©   (2003-07-18 12:57) [7]

Не прошло и часа :-)



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

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

Наверх




Память: 0.48 MB
Время: 0.027 c
1-33184
Sesh
2003-07-28 20:12
2003.08.11
Работа с датами


9-33040
Trix)(
2003-02-11 19:15
2003.08.11
HELP ME


11-33090
nsvi
2002-12-05 08:23
2003.08.11
Как программно перегенерировать меню?


3-33061
alexander_ua
2003-07-17 15:54
2003.08.11
Перенос данных с Paradox в Interbase.


14-33298
VEG
2003-07-17 13:40
2003.08.11
Говорили, что W98 официально похоронят в конце июня...