Как использовать мышь в качестве датчика перемещения
Как использовать мышь в роли датчкика, для фиксирования перемещения и какая наибольшая возможная частота?
пермещения чего? окна?
Если необходимо отлавливать на определенном компоненте, то у некоторых есть обработчики перемещения мыши... Например, TLabel
на Application::OnMessge отлавливать WM_MOUSEMOVE
Цитата: frid-karatel
Можно использовать TTimer в роли таймера, по которому будут отлавливаться положения мыши на экране. Чем ниже число Interval (он задан в мс), тем выше скорость...
Если необходимо отлавливать на определенном компоненте, то у некоторых есть обработчики перемещения мыши... Например, TLabel
Если необходимо отлавливать на определенном компоненте, то у некоторых есть обработчики перемещения мыши... Например, TLabel
Нет не на компоненте и не на форме, перемещения по плоской поверхноти (например стола). Как обработать сообщение р перемещени мыши (замерять ее положение)??
только линейкой )))
Цитата: oxotnik333
только линейкой )))
согласен :) хотя смотря какой стол и смотря какая скорость установлена у мыши... может даже понадобится и рулетка... :) линейки, ведь, мало...
А если уж немного поразмыслить - то можно организовать все через коэффициенты... но все равно придется линейкой сначала замерить: провести курсором от левого края экрана до правого и посмотреть, сколько мышь "пробежит" по столу метров... а потом уже матиматически коэффициент рассчитать...
PS: А зачем тебе это? :) Ну очень интересно...
В винде по умолчанию включено т. н. динамическое ускорение - чем медленнее едет мышь, тем медленнее она движется по экрану. Поэтому надо либо его отключить (что сразу будет замечено из-за неудобной работы), либо перехватывать общение винды с мышью или писать собственный драйвер. В этом случае лучше писать под DOS чтобы не лишать пользователя винды сего незаменимого устройства) и ускорить и значительно упростить разработку.
Решили сэкономить на на нормальном датчике.. А меня мучают здесь...
вопрос сформулируй нормально: что из чего надо получить?
Я просто подумала... разрещение мышки 2000dpi, то есть 2000 координата - 1 дюйм.. И все дела....
дюймы привязвны к монитору а не столу, и есть еще скорость перемещения указателя в настройках форточек, так что при перемещении мышки допустим на 1 см. указатель в зависимости от настроек может передвинуться по экрану от 100 до 500 точек (это от балды цифры, я не мерял)
Или грубое измерение, зная диагональ монитора и соотношение длины к ширине, преобразовывать координаты в дюймы.. Но это все так грубо будет....
LPPOINT lpPoint // address of structure for cursor position
); - абсолютные координаты курсора на мониторе
а само физ устройство или через дрова или линейкой
Или есть ли другой способ получения координат мыши :) без линеек
мож в оптике этот глюк победили...
Товарищи, вместо споров почитали бы документацию. А там написано, что разрешение стандартной PS/2 или УПШ мыши задаётся в точках на миллиметр. А про последовательных мышей там ничего не написано, сколько фирм, столько и стандартов.
путем практического анализа, при default настройках, мышь с разрещением 800dpi, проходит 800 пикселей по монитору, и 2,5 см по столу (то есть 1 дюйм).