Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.12.16;
Скачать: [xml.tar.bz2];

Вниз

Можно ли передвинуть курсор так...   Найти похожие ветки 

 
Knight   (2003-11-21 01:12) [0]

..., чтобы не свершиловь событие MouseMove?


 
Knight   (2003-11-21 10:06) [1]

Приложение реагирует на SetCursorPos()... кто знает ещё функции для работы с сабжем?


 
Knight   (2003-11-21 10:44) [2]

Неужели система не может определить где программный сдвиг, а где реальное движение мыши?


 
NeyroSpace   (2003-11-21 11:21) [3]

А разве приложение мышь ловит? Оно вроде сообщения ловит. Хотя наверное можно к драйверу обращатся...


 
REA   (2003-11-21 11:23) [4]

:) WM_MouseJump


 
Игорь Шевченко   (2003-11-21 11:25) [5]

Непонятная задача. Зачем ?


 
PVOzerski   (2003-11-21 11:34) [6]

Если речь идет о событиях в смысле VCL, а не о сообщенияхв смысле Windows, самое простое - временно переназначить обработчик onMouseMove.


 
Knight   (2003-11-21 12:38) [7]

В общем, в проге обрабатывается onMouseMove (пробовал WM_MOUSEMOVE, эффект тот же) там берутся координаты мыши и обрабатываются. В этой же проге по таймеру происходит позиционирование курсора в зависимомти от полученных в муве координат. Короче, при позиционировании, вызывается onMouseMove и получается, что мыш не позиционируется, а ползёт самопёхом, пока не выйдет за пределы формы... это конечно прикольно, но задумака несколько иная... :)

Надо, чтобы прога реагировалиа на реальное движение мыши, а не на программное позиционирование курсора, но для тех событий которые я знаю, это одно и тоже. Причём описанные выше вещи должны работать совместно, т.е. переназначение onMouseMove не подходит. Может кто знает, событие которое происходит только при движении самой мыши?


 
REA   (2003-11-21 12:48) [8]

>по таймеру происходит позиционирование курсора
как вариант - запоминать куда позиционировал - если не туда, значит оно само.


 
PVOzerski   (2003-11-21 12:57) [9]

Я же говорил, теперь конкретизирую:

во обработчике onTimer делаем:
OldOnMouseMove:=onMouseMove;
onMouseMove:=nil;
...(делаем позиционирование курсора)...
onMouseMove:=OldOnMouseMove;


 
Knight   (2003-11-21 14:49) [10]

>> PVOzerski © (21.11.03 12:57) [9]
Не то это...

Вот событие onKeyPress передаёт в параметрах, то какая клавиша нажата, ДО того как она будет обработана и если она не удовлетворяет условиям, то можно её обнулить как будь-то её и небыло... у формы есть onCanResize, который даёт возможность узнать новые размеры окна, ДО того как окно измениться с возможностью запрета... так почему-же для мыши нет возможности узнать куда она будет передвинута и отменить перемещение если что-то не так? Или есть, но я его не нашёл?


 
PVOzerski   (2003-11-21 15:00) [11]

А если GetCursorPos употребить внутри таймерного обработчика?


 
Knight   (2003-11-21 15:05) [12]

А как клип работает? Он ведь от куда-то знает, что курсор при следующем перемещении выйдет за пределы области... и не пускает.


 
NeyroSpace   (2003-11-21 15:11) [13]

Если для своего в WindowProc лови сообщения мыши.
Если для всех приложений хук поставь на сообщения мыши.


 
Knight   (2003-11-21 17:11) [14]

Ни одна не останавливает курсор в приложении, т.е. получается, что все они сперва обрабатываются системой, перемещающей курсор, а после система ставит об этом в известность все остальные приложения... :(


 
Knight   (2003-11-21 17:14) [15]

Нашёл тут два хука WH_MOUSE_LL и WH_HARDWARE, первого нет ни в модуле, ни в хэлпе, второй есть в модуле, но описания в хэлпе нет... Может кто слыхал о таких?


 
han_malign   (2003-11-21 17:28) [16]

Всегда обходились без всяких хуков:
if((OldPoint.X<>X)or(OldPoint.Y<>Y))then begin
if(x...)then x:=...;
if(y...)then y:=...;
OldPoint:=Point(x,y);
SetCursorPos(x,y);
end;



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.12.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.009 c
7-52430
Evgeny
2003-10-10 05:41
2003.12.16
Windows 98 и Harddisk 80 Gb


6-52308
SammIk
2003-10-13 21:13
2003.12.16
Прокси в настроиках ИЕ


1-52234
DeScriptor
2003-12-04 22:12
2003.12.16
Стыкуемые окна


1-52161
lahtak
2003-12-03 17:44
2003.12.16
Нетривиальная форма


14-52391
Brahman
2003-11-21 14:26
2003.12.16
Женщина == Web-service





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский