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

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

DBGrid.../MouseMove [D5, Paradox]


Nick ©   (2003-07-18 11:46:00) 

Добрый день местера!
Имеем следующий текст:
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:57:00) [1]

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


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

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


ЮЮ   (2003-07-18 12:51:00) [3]

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


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

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


ЮЮ   (2003-07-18 12:27:00) [5]

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


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

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


ЮЮ   (2003-07-18 12:05:00) [7]

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

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


Наверх

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