Главная страница
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.017 c
14-33370
dmtr
2003-07-25 18:17
2003.08.11
Windows 2000 Advanced Server и 3GB физической памяти


14-33330
trotski
2003-07-22 00:13
2003.08.11
Программистская документация


3-33051
Relaxxx
2003-07-18 11:51
2003.08.11
Report Builder


9-33038
Rotate3f
2003-02-11 11:05
2003.08.11
Динамические лайтмапы


7-33386
boa
2003-05-29 11:25
2003.08.11
Вопрос по TService