Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2013, 03:01   #1
Admin2
Пользователь
 
Регистрация: 13.10.2008
Сообщений: 40
По умолчанию Как изменить точку отсчета координат курсора на форме с прокруткой?

Столкнулся с проблемой: При появлении вертикальной полосы прокрутки в процессе прокручивания окна колесиком локальные координаты курсора остаются прежними, хотя часть окна уже прокручена и вертикальная координата положения курсора должна увеличиться. Для меня это важно. Как учесть координату смещения окна формы?
Admin2 вне форума Ответить с цитированием
Старый 13.03.2013, 06:58   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,883
По умолчанию

ScreenToClient ?
phomm на форуме Ответить с цитированием
Старый 13.03.2013, 23:19   #3
Admin2
Пользователь
 
Регистрация: 13.10.2008
Сообщений: 40
По умолчанию

Этот вариант интересный, но не катит. Мне нужно как-то делать отсчет от верхнего левого угла формы, но с учетом скролинга, т.е. при скролинге координата Y курсора мышки должна изменяться, не перемещая сам курсор мышки.

есть какие-нибудь идеи?

Последний раз редактировалось Stilet; 14.03.2013 в 09:22.
Admin2 вне форума Ответить с цитированием
Старый 14.03.2013, 07:16   #4
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Цитата:
т.е. при скролинге координата Y курсора мышки должна изменяться, не перемещая сам курсор мышки.
При скролинге меняется не координата мыши, а координаты самих компонентов на форме.
Это как когда лаборант разглядывает в мелкоскоп чашку Петри, он не прибором над чашкой и её обитателями водит, а самих обитателей с помощью чашки перемещает.
Цитата:
есть какие-нибудь идеи?
Выберите какой то компонент как начало отсчета. И от текущих координат мыши отнимайте его Left и Top.

Последний раз редактировалось Sibedir; 14.03.2013 в 07:19.
Sibedir вне форума Ответить с цитированием
Старый 14.03.2013, 18:06   #5
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Ну и альтернативный вариант: добавляйте к координатам мыши смещение, вычисляемое из текущего положения поло прокрутки.
s-andriano вне форума Ответить с цитированием
Старый 14.03.2013, 19:49   #6
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,883
По умолчанию

Извиняюсь, а сам был уверен, что указанный метод будет отслеживать смещение мыши при скроллах. Оказалось нет.
Вот сделал тестовую прогу. Думаю, поможет. Там с учетом положения скролла легко сделать, само положение показывается - копнул чутка всл и нашёл как именно вычислить.
Вложения
Тип файла: zip 1.ZIP (196.4 Кб, 9 просмотров)
phomm на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как изменить вид курсора на форме в C#? Slavik3 Помощь студентам 0 15.12.2012 15:02
Cистема отсчета координат ros.pro Помощь студентам 11 14.11.2011 14:17
как изменить точку на запятую Poltev86 БД в Delphi 6 16.09.2010 16:10
Прошу помочь с определением координат курсора на форме. Dem.IG Помощь студентам 1 17.12.2009 16:00
tchart - Как при наведении курсора на определенную точку сериэса узнать точку наведения и отобразить её xaero93 Помощь студентам 0 22.04.2009 19:28