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

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

Как определить координаты курсора?


AlexMey ©   (2002-03-20 12:40:00) 

Уважаемые мастера.

Подскажите...

У меня есть визуальный компонент (к примеру TreeView). Необходимо сделать следующее - при возникновении событии DblClick определить координаты курсора мыши. Как это можно сделать ведь в DblClick в отличии от MouseDown координаты курсора не передаются?

Заранее благодарен, Александр.


Alx2   (2002-03-20 13:18:00) [1]

Наверное, стоит посмотреть ClientToScreen, ScreenToClient


AlexMey   (2002-03-20 13:09:00) [2]

Кстати, функция GetCursorPos возвращает Абсолютные координаты курсора, а чтобы определить локальные (т.е. внутри моего TreeView) я написал

...

procedure TForm1.TreeView1DblClick(Sender: TObject);
var
cords:TPoint;
begin
GetCursorPos(cords);
//переходим в локальные коорд. формы
cords.X := cords.X - Form1.Left;
cords.Y := cords.Y - Form1.Top;
//переходим в локальные координаты элемента
cords.X := cords.X - TreeView1.Left;
cords.Y := cords.Y - TreeView1.Top;
ShowMessage(IntToStr(cords.X)+" "+IntToStr(cords.Y));
end;

Но в TreeView в точке с координатами 1,1 получаются значения 5,25 !!!!!!!!
Происходит какое-то смещение... Не подскажите как с этим бороться ?

Заранее благодарен, Александр.


AlexMey   (2002-03-20 12:53:00) [3]

Thanks, a lot!!!


Виктор Щербаков   (2002-03-20 12:43:00) [4]

GetCursorPos


Наверх

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