![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как определить координаты курсора?
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